HDFS上文件權限操作


使用指定用戶和指定權限建文件夾和文件    轉載自:https://www.cnblogs.com/zyanrong/p/11995768.html

創建文件時報錯:

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

解決辦法有多種

1. 通過代碼的方式來設置當前用戶名為 root,代碼里添加如下代碼:

  System.setProperty("HADOOP_USER_NAME", "root");

2. 通過-D參數來設置當前操作的用戶名;

在執行代碼的時候通過 -D 參數來指定 HADOOP_USER_NAME 為 root:java -DHADOOP_USER_NAME root TestMkDir,這樣在執行程序的時候,程序獲取到的系統中的變量 HADOOP_USER_NAME 的值就是 root,當前用戶 就設為root。

3. 設多級目錄,改變對應目錄權限

在 /folder目錄下創建 /folder1/folder2只需要把 /folder1的目錄權限設置為所有人可讀,可寫,可執行即可:chmod /folder1 777

4. 通過hdfs的命令直接改文件權限

例子:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ],

hdfs dfs -chown -R Administrator:Administrator /user/  #更改組、用戶權限
hdfs dfs -chown -R Administrator /user/wocheck  #更改用戶
hdfs dfs -chgrp -R Administrator /use  #更改組權限


免責聲明!

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



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