GoogleのMapReduceの論文では、バックアップタスクがありますが、Hadoopでは投機的タスクと同じことだと思います。投機的なタスクはどのように実装されていますか?私が投機的な仕事を始めたとき、仕事は古いものからゆっくりと始めて、あるいは古い仕事がどこに到達したかで始まります(もしそうなら、すべての中間的な状態とデータをコピーする必要がありますか?)Hadoop投機的タスクの実行
答えて
Hadoopシステムの1つの問題は、多くのノードでタスクを分割することによって、いくつかの低速ノードがプログラムの残りのレートを制限する可能性があることです。
ハードウェアの低下やソフトウェアの誤設定など、さまざまな理由でタスクが遅くなる可能性がありますが、予想よりも長い時間が経過してもタスクが正常に完了するため、原因を検出するのが難しい場合があります。 Hadoopは低速実行タスクを診断して修正しようとしません。代わりに、タスクが予想よりも遅く実行されていることを検出し、別の同等のタスクをバックアップとして起動します。これは、投機的なタスクの実行と呼ばれます。
たとえば、あるノードに低速ディスクコントローラがある場合、他のすべてのノードの速度のわずか10%で入力を読み取っている可能性があります。したがって、99のマップタスクが既に完了している場合、システムは最終マップタスクがチェックインするのを待っています。これは、他のすべてのノードよりもはるかに時間がかかります。
タスクを互いに独立して実行することによって、個々のタスクは入力がどこから来るのかを知りません。タスクは、Hadoopプラットフォームを信頼して適切な入力を提供するだけです。したがって、同じ入力を並列に複数回処理して、マシン機能の違いを利用することができます。ジョブのほとんどのタスクが終了すると、Hadoopプラットフォームは、実行する他の作業がない複数のノードにまたがって残りのタスクの冗長コピーをスケジュールします。このプロセスは、投機的実行として知られています。タスクが完了すると、この事実がJobTrackerに通知されます。どのタスクのコピーが最初に終了しても、確定コピーになります。他のコピーが投機的に実行されていた場合、HadoopはTaskTrackersにタスクを破棄して出力を破棄するように指示します。 Reducersはマッパーが正常に完了した時点から入力を受け取ります。
投機実行は、デフォルトで有効になっています。新しいAPIではmapreduce.map.speculative
とmapreduce.reduce.speculative
を変更することが考えられますが、mapred.map.tasks.speculative.execution
とmapred.reduce.tasks.speculative.execution
のJobConfオプションをfalseに設定することで、マッパーとレデューサーの投機実行を無効にすることができます。
あなたの質問に答えるために、それは新たに始まり、他のタスクがどれだけ完了/完了したかとは関係ありません。
参考:あなたがシステム全体のレベルで完全に投機的なタスクの実行を無効にした場合http://developer.yahoo.com/hadoop/tutorial/module4.html
私は、 'mapreduce.map.speculative'と' mapreduce.reduce.speculative'がそれぞれ 'mapred.map.tasks.speculative.execution'と' mapred.reduce.tasks.speculative.execution'のより新しい同等物だと考えています。 –
- 1. 現在実行中のHadoopタスクのタスク試行IDを取得
- 2. Eclipseでhadoopソースコードの投機実行をオフにする方法
- 3. データ収集タスク:リモートHadoop EMRクラスターの代わりにローカルで実行するHadoop
- 4. 機能テストの実行タスクTFS 2017
- 5. Hadoopタスクを実行しているCPUコアを監視する
- 6. Scilabで定期的にタスクを実行
- 7. Webコンソールへのタスクの投稿実行(管理)コンテキスト
- 8. 珍しいHadoopのエラー - 私は私のHadoopジョブを実行すると、タスクが自分自身
- 9. 実行Gradleのタスク
- 10. HadoopでMap/Reduceタスクを実行するCPU時間を調べる方法
- 11. タスク実行時のタスクの停止
- 12. 長期実行タスクの実行方法
- 13. のHadoopのMapReduceは、今私はのHadoopのMapReduceジョブを実行
- 14. 投機的な実行は高価な操作に従うでしょうか?
- 15. 長時間実行されている$ http非同期タスクを使用した投機器のタイムアウト
- 16. FireFox拡張機能でこのタスクを実行できます
- 17. JavaScriptの動的なコード実行機能
- 18. Javaのスレッド/タスク実行フレームワーク
- 19. 複数のマップジョブを実行するHadoop -
- 20. キャンセルの遅延実行タスクの実装
- 21. luigi:デバッグの目的でタスクを再実行しますか?
- 22. HadoopコマンドなしでHadoop Javaコードを実行する
- 23. hadoopロギング機能?
- 24. 実行し続ける別のタスクの後にタスクを実行する
- 25. 私のタスクを実行した後にPythonでオートセーブ機能を実装する
- 26. 可能:タスク/ハンドラを実行する前に別のタスク/ハンドラを実行する
- 27. Tomcat Antタスク実行エラー
- 28. Infinispan分散型タスク実行
- 29. gulp:順次タスク実行
- 30. rakeタスクでcapybaraを実行
が問題に加えて、理由のリストに何をされているだろうか?投機的な執行が無効になったときに得られた利益は何か。 –