2011-09-23 65 views
2

作爲我的Java映射器的一部分,我有一個命令在本地節點上執行一些代碼,並將本地輸出文件複製到hadoop fs。不幸的是,我發現了以下的輸出:VMHadoop java mapper -copyFromLocal堆大小錯誤

的初始化過程中出現

錯誤

無法爲對象堆

我試着調整mapred.map.child預留足夠的空間。 java.opts到-Xmx512M,但不幸的是沒有運氣。

當我進入節點ssh時,我可以運行-copyFromLocal命令沒有任何問題。輸出文件也很小,比如大約100kb。

任何幫助將不勝感激!

+0

檢查日誌文件併發布任何異常(如果有)。 –

+0

不幸在日誌文件中沒有例外... – Joris

+0

「命令如何在本地noce上執行一些代碼」看起來像什麼?你分叉另一個過程? –

回答

0

映射器或縮減器中的無限循環可能會導致內存不足錯誤。

當我用iterator.hasNext()作爲條件,對於reducer值,並且沒有在循環內調用iterator.next()時,我碰到過一次OoM。