1. 程式人生 > >Windows|Eclipse 執行HDFS程式遇到問題之 AccessControlException

Windows|Eclipse 執行HDFS程式遇到問題之 AccessControlException

轉自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的使用者一致。