一、分析
我在瀏覽器創建目錄和刪除目錄及文件,為什么會是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
二、解決
第一種方案
直接修改/user目錄的權限設置,操作如下:
hdfs dfs -chmod -R 755 /user
第二種方案
在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>