2012-04-13 17 views
0

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*2 = 3072にこれを設定する1536に設定されているのに役立ちますが、望ましいことではない2つのスロットを使用するために1つのマップタスクを引き起こし。

ホストでこのジョブを実行したとき、ピークメモリが1.07 GBで、1536 MB未満であることがわかりました。 "top"を使ったホスト上のジョブのメモリ使用量と、"ps -o vsz=${pid}"を1秒ごとに使用するスクリプトを確認しました。

誰かがこの問題を理解/デバッグ/修正するのを手伝ってください。

+0

YARNのように見えますが、Hadoopのバージョンは使用していますか? –

+0

$ hadoopバージョン Hadoop 0.20.205.0.3.1112071329 ... – sunillp

+0

sunillp、これをstackoverflow、[link] http://stackoverflow.com/questions/8017500/specifying-memory-limits-with-hadoopからチェックしてください –

答えて

0

この問題は、このバグに関連することができ、私はCDHバージョンhereで見つかった:あなたはmapred-site.xmlのでメモリ設定をオフにする必要があり

MapReduce task from Hive dynamic partitioning query is killed.

Problem: When using the Hive script to create and populate the partitioned table dynamically, the following error is reported in the TaskTracker log file:

TaskTree [pid=30275,tipID=attempt_201305041854_0350_m_000000_0] is running beyond memory-limits. Current usage : 1619562496bytes. Limit : 1610612736bytes. Killing task. 

mapred.cluster.map.memory.mb = -1 
mapred.cluster.reduce.memory.mb = -1 
mapred.job.map.memory.mb = -1 
mapred.job.reduce.memory.mb = -1 
mapred.cluster.max.map.memory.mb = -1 
mapred.cluster.max.reduce.memory.mb = -1 
関連する問題