问题描述:

Permission denied: user=dr.who, access=READ_EXECUTE,inode="/user":root:supergroup:drwx-wx-wx

 说明只有root用户能进行读写操作 ,目前user为dr.who 权限不允许

分析

 在浏览器查看目录和删除目录及文件,为什么会是dr.who,dr.who其实是hadoop中http访问的静态用户名,并没有啥特殊含义,可以在core-default.xml中看到其配置.

hadoop.http.staticuser.user=dr.who

我们可以通过修改core-site.xml,配置为当前用户,

<!-- 当前用户全设置成root -->
<property>
   <name>hadoop.http.staticuser.user</name>
   <value>root</value>
</property>

这里hdfs的默认配置hdfs-default.xml发现hdfs默认是开启权限检查的。

解决方法为:

在Hadoop的配置文件core-site.xml中增加如下配置:

<!-- 当前用户全设置成root -->
<property>
   <name>hadoop.http.staticuser.user</name>
   <value>root</value>
</property>

<!-- 不开启权限检查 -->
<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

 修改完之后,进行重新启动hdfs

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐