Windows|Eclipse 執行HDFS程式遇到問題之 AccessControlException
阿新 • • 發佈:2018-11-14
轉自http://f.dataguru.cn/thread-281774-1-1.html
問題:
Windows|Eclipse 執行HDFS程式之後,報:org.apache.Hadoop.security.AccessControlException: Permission denied: user=sunqw, access=WRITE, inode="":hadoop:supergroup:rwxr-xr-x。
或者
Windows|Eclipse 執行HDFS程式之後,報:org.apache.hadoop.security.AccessControlException: Access denied for user sunqw. Superuser privilege is required。
解決方法:
方式一:
在系統環境變數中增加HADOOP_USER_NAME,其值為root;
或者 通過Java程式動態新增,如下:
System.setProperty("HADOOP_USER_NAME", "root");
方式二:
使用Eclipse在非hadoop執行的使用者下進行寫入hdfs檔案系統中時,由於sunqw對"/"目錄沒有寫入許可權,所以導致異常的發生。解決方法即開放hadoop中的HDFS目錄的許可權,命令如下:hadoop fs -chmod 777 / 。
方式三:
修改hadoop的配置檔案:conf/hdfs-core.xml,新增或者修改 dfs.permissions 的值為 false。
方式四:
將Eclipse所在機器的使用者的名稱修改為root,即與伺服器上執行hadoop的使用者一致。