MapReduce程式執行後馬上出現OutofMemory Exception

現象:

Job一執行後,連Map都沒開始就出現OOM的訊息。

原因:

預設client的heap size為256mb,在大多數時候都夠用,但有時job在初始化時,會用到大量的記憶體,如這邊的範例,要讀的檔案太大,所以在DFSClient的listPaths()裡,存太多資料導致heap用完。

解決方法:

透過環境變數,改變Client端的heap大小。

export HADOOP_CLIENT_OPTS="-Xmx4096m"

參考資料:

https://chawlasumit.wordpress.com/2016/03/14/hadoop-gc-overhead-limit-exceeded-error/

results matching ""

    No results matching ""