Hadoop 創建用戶及HDFS權限,HDFS操作等常用Shell命令


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 -copyFromLocal <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 -copyToLocal URI localdst#拷貝hdfs文件到本地


hadoop fs -cp URI [URI …] <dest>#拷貝hdfs文件到其它目錄


hadoop fs -du URI [URI …]#顯示目錄中所有文件的大小


hadoop fs -getmerge <src> <localdst> [addnl]#合並文件到本地目錄

 

 

在IDEA中使用Java API 或者 Scala API 操作HDFS的時候,有時候會報這個錯誤:

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=Apache_Jerry, access=WRITE, inode="/spark":root:supergroup:drwxr-xr-x

其實就是你的用戶,對所操作的文件沒有相應的權限,這里報錯就很明顯,沒有寫的權限,我們在測試的時候可以使用一個簡單粗暴地方法,就是將所有文件的所有權限都開放,這樣你跑代碼就不會出現這種錯誤了
切換到你的虛擬機界面
命令如下:

hadoop fs -chmod -R 777 /
//這里是所有的文件均授予777權限 也可以指定某個文件夾進行賦權

 

之后在web端可以看到

 

 

文章素材來源,僅做學習整理:

https://blog.csdn.net/Apache_Jerry/article/details/85139459

https://www.linuxidc.com/Linux/2012-05/60635.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM