hadoop3.X.Xweb页面中部分操作权限拒绝问题
1、原因分析
我在浏览器创建目录和删除目录及文件,为什么会是dr.who,dr.who其实是hadoop中http访问的静态用户名,并没有啥特殊含义,可以在core-default.xml中看到其配置
hadoop.http.staticuser.user=dr.who
我们可以通过修改core-site.xml,配置为当前用户,
<property>
<name>hadoop.http.staticuser.user</name>
<value>XXXXXXXX</value>
</property>
另外,通过查看hdfs的默认配置hdfs-default.xml发现hdfs默认是开启权限检查的。
dfs.permissions.enabled=true #是否在HDFS中开启权限检查,默认为true
2、解决方案
2.1 第一种方案
直接修改/user目录的权限设置,操作如下:
hdfs dfs -chmod -R 755 /user
2.2 第二种方案
在Hadoop的配置文件core-site.xml中增加如下配置:
<!-- 当前用户设置成zls,zls是我的登录用户名 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>zls</value>
</property>
<!-- 不开启权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>