hadoop常見異常及處理方法

來源:互聯網
上載者:User

異常一:

java.lang.Exception: java.lang.OutOfMemoryError: Java heap space

    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:400)

Caused by: java.lang.OutOfMemoryError: Javaheap space

處理方法:這個問題需要調整hadoop運行記憶體。如果用戶端用的是myeclipse,看看eclipse的運行內在是不是充足。


異常二:

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:Incompatible namespaceIDs ...datanode namespaceID...,此問題為Namenode上namespaceID與datanode上namespaceID不一致。問題產生原因:每次namenodeformat會重新建立一個namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的資料,但是沒有清空datanode下的資料,所以造成namenode節點上的namespaceID與datanode節點上的namespaceID不一致。啟動失敗。

處理方法:參考該網址http://blog.csdn.net/wh62592855/archive/2010/07/21/5752199.aspx  給出兩種解決方案,我們使用的是第一種解決方案:即:

  (1)停掉叢集服務

  (2)在出問題的datanode節點上刪除data目錄,data目錄即是在hdfs-site.xml檔案中配置的dfs.data.dir目錄,本機器上那個是/var/lib/hadoop-0.20/cache/hdfs/dfs/data/(註:我們當時在所有的datanode和namenode節點上均執行了該步驟。以防刪掉後不成功,可以先把data目錄儲存一個副本).

  (3)格式化namenode.

  (4)重新啟動叢集。

  問題解決。這種方法帶來的一個副作用即是,hdfs上的所有資料丟失。如果hdfs上存放有重要資料的時候,不建議採用該方法,可以嘗試提供的網址中的第二種方法。

異常三:

Exception in thread "main" org.apache.hadoop.security.AccessControlException:
org.apache.hadoop.security.AccessControlException: Permission denied: user=hadoop/172.25.18.183,access=EXECUTE, inode="hadoop":hadoop:supergroup:rw-rw-r--

這個問題是沒有存取權限

後續補充並修訂


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.