Hadoop ストリーミング ジョブを実行しています。このジョブは次のエラーで失敗します:
"TaskTree [pid=13549,tipID=attempt_201202130706_121058_m_000000_0] is running beyond memory-limits. Current usage : 1667149824bytes. Limit : 1610612736bytes. Killing task."
このジョブでは、mapred.job.map.memory.mb が 1536 に設定されています。これを設定すると便利です1536*2 = 3072
が、1 つのマップ タスクが 2 つのスロットを使用することになり、望ましくありません。
このジョブをホストで実行したところ、1.07 GB のピーク メモリが使用されていることがわかりました。これは 1536 MB よりはるかに少ない値です。"ps -o vsz=${pid}"
「top」と1秒ごとに使用するスクリプトを使用して、ホスト上のジョブのメモリ使用量を確認しました。
誰かがこの問題を理解/デバッグ/修正するのを手伝ってくれませんか?