關於不能執行Hadoop命令 並報權限問題執行錯誤1、Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-xphp
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-xnode
put: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-xapache
這些相似的權限問題都屬於同類問題,他是我說咱們的執行Hadoop命令的用戶沒有,執行權限。oop
剛開始我想解決問題的思路是,將當前用戶受權。(這種想法是不正確的,不要爲了簡化輸入命令,就試圖修改這些東西)spa
如今的想法:用的他指定的用戶去執行xml
[root@cdh1 data]#sudo -u hdfs hadoop fs -mkdir /newFileblog
或者[root@cdh1 data]#sudo -u hdfs dfhs dfs -mkdir /newFilehadoop
更簡單的是,先進入這個用戶,su hdfs get
而後在這上面執行相應的命令就ok it
我順便說一下,爲何會出現這樣的問題。
若是你是用tar 包解壓縮的方式,手動配置的,確定不會出現這些問題。
我第一次是用,cloudera manager 安裝,選擇的是enterprise 60天的那個。安裝完成也沒有問題。
第二次是用如今這種方式安裝的。選擇的是第一個,免費版。
其實這個也不算是安裝上的問題。由於你用yarn安裝的時候,他默認會用這個用戶安裝,這個就至關於,Linux的超級用戶,他是Hadoop的超級用戶組的用戶。
[root@cdh1 data]# hadoop fs -mkdir /newFile
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
[root@cdh1 data]#
[root@cdh1 data]# hadoop fs -put w.dat /
put: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
也能夠在haoop 配置文件中hdfs-site.xml 中設置權限爲false
設置hdfs-site.xml的
<property>
<name>fs.permissions.umask-mode</name>
<value>000</value>
</property>
hdfs的默認配置
http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml