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
