6

マップ フェーズがかなり長い Hadoop ジョブがあり、他の短いジョブを優先して実行したいと考えています。このために、hadoop job -set-priority job_id LOW で長いジョブの優先度を設定しました。

問題は、私の長い仕事の場合、マップ タスクの 30% しか完了していない場合でも、リデューサーのコピー フェーズが開始されることです。

すべての削減スロットが優先度の低いジョブによって使用されるため、グリッドは一種のブロックされます。他の小さなジョブはマップ フェーズを実行できますが、私の長いジョブが終了するまでレデューサーを取得することはありません。

何か案が?ありがとう。J.

4

1 に答える 1

9

私は自分の質問に対する答えを見つけました:正確に仕事をするジョブconfパラメーターがあります:

mapred.reduce.slowstart.completed.maps=0.90

リデュース タスクは、マップの 90% が完了したときにのみ開始されます。デフォルト値は 0.05 です。

于 2012-01-26T15:26:48.893 に答える