我正在運行Hadoop流式作業。此作業失敗,錯誤:超過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個map任務使用2個插槽,是不可取的。
當我在主機上運行這個作業時,我發現它使用1.07 GB的峯值內存,這是小於1536 MB的方式。我使用「top」和每1秒鐘使用"ps -o vsz=${pid}"
的腳本驗證主機上作業的內存使用情況。
有人可以幫我理解/調試/修復這個問題。
看起來像YARN,您使用的是Hadoop版本? – 2012-04-13 12:10:06
$ hadoop版本 Hadoop 0.20.205.0.3.1112071329 ... – sunillp 2012-04-13 12:54:19
sunillp,請從stackoverflow檢查此問題,[鏈接] http://stackoverflow.com/questions/8017500/specifying-memory-limits-with-hadoop – 2012-04-13 22:56:17