2017-05-07 7 views
0

繰り返し回数が多すぎる関数と、リデューサ関数で計算量が多い関数があるループがあります。HadoopでMap/Reduceタスクが失敗するのを避けるには

while (context.getCounter(SOLUTION_FLAG.SOLUTION_FOUND).getValue() < 1 && itrCnt < MAX_ITR) 

MAX_ITRは反復がカウントされる - ユーザー入力

問題がある、私はHadoopクラスタ上で実行する場合がタイムアウトエラーがあると減速タスクが殺され

17/05/06 21:09:43 INFO mapreduce.Job: Task Id : attempt_1494129392154_0001_r_000000_0, Status : FAILED 
AttemptID:attempt_1494129392154_0001_r_000000_0 Timed out after 600 secs 

私は避けるために何をすべきタイムアウト?

答えて

1

タイムアウトの理由は、ジョブの進行状況をHadoopフレームワークに報告することなく、レデューサーで長時間実行されている可能性があります。以下のコマンドを使用して、デフォルトの600秒からタイムアウト間隔を増やすことができます。

mapred.task.timeout=1800000 

ここにはreferenceがあります。

これらの設定が機能しない場合は、コードの再チェックを検討してください。コードロジックにも問題がある可能性があります。

+0

実際、[this](http://stackoverflow.com/a/11815803/7584363)1つは完全に問題を解決しましたが、参照リンクは良好でした。ありがとう –

関連する問題