hadoop文件夾許可權管理
『壹』 hadoop中在HDFS中創建一個input目錄,然後hadoop fs -ls命令
從fs -ls從列出來的文件看,這個文件夾/user/root/input是通過root用戶創建的。說明你在從本地文件系統拷貝input目錄到hdfs系統的時候,不是採用的hadoop用戶,而是用root用戶執行的拷貝命令,你可能忘記切換用戶了,可以刪除現在的input目錄(採用root用戶運行hadoop的刪除命令,或者不刪除也沒關系),重新使用hadoop用戶把input導入到hdfs系統中試試看。
另外,實際上應用的時候是需要關注hdfs中文件的目錄結構的。你現在採用的是默認的方式,預設會放/user/${user.name}目錄下。
在把本地文件導入到hdfs的時候,是可以指定傳到什麼目錄的,比如:
#創建input目錄
sh bin/hadoop fs -mkdir /user/hadoop/input
#把myfile.txt導入到hdfs的input目錄下
sh bin/hadoop fs –put /usr/hadoop/mydata/myfile.txt /user/hadoop/input
『貳』 修修改hdfs上的文件所屬用戶、所屬組等讀寫執行控制許可權
HDFS支持許可權控制,但支持較弱。HDFS的設計是基於POSIX模型的,支持按用戶、用戶組、其他用戶的讀寫執行控制許可權。在linux命令行下,可以使用下面的命令修改文件的許可權、文件所有者,文件所屬組:
sudo addgroup Hadoop#添加一個hadoop組
sudo usermod -a -G hadoop larry#將當前用戶加入到hadoop組
sudo gedit etc/sudoers#將hadoop組加入到sudoer
在root ALL=(ALL) ALL後 hadoop ALL=(ALL) ALL
修改hadoop目錄的許可權
sudo chown -R larry:hadoop /home/larry/hadoop<所有者:組 文件>
sudo chmod -R 755 /home/larry/hadoop
修改hdfs的許可權
sudo bin/hadoop dfs -chmod -R 755 /
sudo bin/hadoop dfs -ls /
修改hdfs文件的所有者
sudo bin/hadoop fs -chown -R larry /
sudo bin/hadoop dfsadmin -safemode leave #解除hadoop的安全模式
hadoop fs -FromLocal <localsrc> URI#拷貝本地文件到hdfs
hadoop fs -cat file:///file3 /user/hadoop/file4#將路徑指定文件的內容輸出到stdout
hadoop fs -chgrp [-R] GROUP URI#改變文件的所屬組
hadoop fs -chmod [-R] 755 URI#改變用戶訪問許可權
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]#修改文件的所有者
hadoop fs -ToLocal URI localdst#拷貝hdfs文件到本地
hadoop fs -cp URI [URI …] <dest>#拷貝hdfs文件到其它目錄
hadoop fs - URI [URI …]#顯示目錄中所有文件的大小
hadoop fs -getmerge <src> <localdst> [addnl]#合並文件到本地目錄
如:
root@cdh3:~# hdfs dfs -ls /
Found 8 items
drwxr-xr-x - hbase hbase 0 2017-06-24 10:05 /hbase
drwxrwxr-x - solr solr 0 2016-12-01 22:43 /solr
drwxr-xr-x - root supergroup 0 2017-04-24 22:58 /sparklib
drwxr-xr-x - root supergroup 0 2017-07-19 17:44 /sparklib-2.1.0
drwxr-xr-x - hdfs supergroup 0 2016-12-05 09:08 /system
drwxrwxrwt - hdfs supergroup 0 2017-07-13 09:40 /tmp
drwxr-xrwx - hdfs supergroup 0 2017-06-23 10:54 /user
drwxr-xr-x - root supergroup 0 2017-04-13 11:12 /file
root@cdh3:~# hdfs dfs -chown Administrator /file
chown: changing ownership of '/file': Non-super user cannot change owner
root@cdh3:~# hdfs dfs -chown -R Administrator /file
chown: changing ownership of '/file': Non-super user cannot change owner
root@cdh3:~# su hdfs
hdfs@cdh3:/root$ hdfs dfs -chown -R Administrator /file
hdfs@cdh3:/root$ hdfs dfs -chgrp -R Administrator /file
hdfs@cdh3:/root$ hdfs dfs -ls /file
Found 9 items
-rw-r--r-- 2 Administrator Administrator 3302 2017-04-13 11:11 /file/data-transfer.properties
-rw-r--r-- 2 Administrator Administrator 313898 2017-04-13 11:00 /file/dom4j-1.6.1.jar
drwxr-xr-x - Administrator Administrator 0 2017-04-12 10:03 /file/hangxin
-rw-r--r-- 2 Administrator Administrator 24212 2017-03-17 12:06 /file/hx.jar
-rw-r--r-- 2 Administrator Administrator 802721 2017-03-17 11:50 /file/mysql-connector-java-5.1.20-bin.jar
drwxr-xr-x - Administrator Administrator 0 2017-03-22 09:46 /file/notregex
drwxr-xr-x - Administrator Administrator 0 2017-04-25 00:01 /file/regex
-rw-r--r-- 2 Administrator Administrator 106006 2017-04-13 11:12 /file/sihconfig.xml
-rw-r--r-- 2 Administrator Administrator 123 2017-03-16 14:31 /file/spark-config.properties
#