Win下Eclipse提交hadoop程式出錯:org.apache.hadoop.security.AccessControlException: Permission denied: user=D

來源:互聯網
上載者:User

描述:在window下使用Eclipse進行hadoop的程式編寫,然後Run on hadoop 後,出現如下錯誤:

11/10/28 16:05:53 INFO mapred.JobClient: Running job: job_201110281103_0003
11/10/28 16:05:54 INFO mapred.JobClient: map 0% reduce 0%
11/10/28 16:06:05 INFO mapred.JobClient: Task Id : attempt_201110281103_0003_m_000002_0, Status : FAILED
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=DrWho, access=WRITE, inode="hadoop":hadoop:supergroup:rwxr-xr-x
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

 

解決方案:

  到伺服器上修改hadoop的設定檔:conf/hdfs-core.xml, 找到 dfs.permissions 的配置項 , 將value值改為 false

<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off,
but all other behavior is unchanged.
Switching from one parameter value to the other does not change the mode,
owner or group of files or directories.
</description>
</property>

 

修改完貌似要重啟下hadoop的進程才會生效

 

開發環境:win xp sp3 ,   Eclipse 3.3  ,   hadoop-0.20.2    

hadoop伺服器部署環境: ubuntu 10.10  ,   hadoop-0.20.2  

小結:  接觸Hadoop沒多久,不知道這樣修改對叢集的安全性有啥影響。

 

//補充:

後來google到一篇文章,解釋了錯誤出現的原因,原文地址如下:

http://hi.baidu.com/hontlong/blog/item/9ba50ddbd1e16270d0164ec4.html


因為Eclipse使用hadoop外掛程式提交作業時,會預設以 DrWho 身份去將作業寫入hdfs檔案系統中,對應的也就是 HDFS 上的/user/xxx , 我的為/user/hadoop ,   由於 DrWho 使用者對hadoop目錄並沒有寫入許可權,所以導致異常的發生。他提供的解決方案為:放開 hadoop 目錄的許可權 , 命令如下 :$ hadoop fs -chmod 777 /user/hadoop  


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.