マップ/リダクションが使用しているデータノードがダウンするとどうなりますか?ジョブを別のデータノードにリダイレクトする必要はありませんか?私のコードはこの例外条件をどのように処理すべきですか?マップ/リダクション中に死んだデータノードを処理する方法
2
A
答えて
1
datanodeがダウンすると、そのノードで実行中のタスク(タスクトラッカーとしても使用していると仮定します)は失敗し、これらの失敗したタスクは他のタスクトラッカーに割り当てられて再実行されます。デッドデータノードで失われたデータブロックは、クラスタ間でデータが複製されるため、他のデータノードでも使用できます。したがって、たとえデータノードがダウンしたとしても、失敗したタスクの再実行での非常に短い遅延を除いて、いかなる損失もありません。これらはすべてフレームワークによって処理されます。あなたのコードはこれを心配する必要はありません。
1
これは、主にHDFSレプリケーションに依存します。 1より大きい場合、ジョブは「ダウン」されたサーバー上にないブロックを要求します。有効なレプリケーションがあれば、ジョブにストリーム配信され、ジョブは新しいブロックで再度実行されます。
私のコードはこの例外条件をどのように処理する必要がありますか?
ジョブ全体が失敗した場合でも、このような例外は発生しません。この場合、ジョブのスケジュールを変更して、データノードが復旧することを期待できます。
関連する問題
- 1. 死んだサービスでDeadObjectExceptionを処理するには?
- 2. データノードが死にかけている
- 3. androidアラームがonReceive中に死んだ
- 4. アプリが死んだときにアラームマネージャを管理する方法(Android)
- 5. 処理中にコントロールの更新を処理する方法は?
- 6. 死んだ/ロールバック状態の問題を修正する方法
- 7. カサンドラ - 死んだノードを削除する方法
- 8. 死んだiOSデバイスのUDIDを取得する方法は?
- 9. 死んだプロセスC
- 10. アンドロイドで死んだピクセルをプログラムで見つける方法
- 11. 死んだResultReceiverに応答するIntentService
- 12. 私のサイトのクローラが実行中に死んだ
- 13. 処理中にCruiseControl.NETにタスク名を表示する方法
- 14. 処理中に文字列をintに変換する方法
- 15. エスプレッソテスト中にインタースティシャル広告を処理する方法(閉じる)
- 16. Linuxでリモートコマンドを実行中にエラーを処理する方法
- 17. リストを反復処理中にConcurrentModificationExceptionを回避する方法
- 18. SSL接続の途中での処理を処理する方法
- 19. スプリントプランニング中にチケットを処理する方法
- 20. 長いシャットダウン中にサーブレットリクエストを処理する方法
- 21. フィードフォワード処理中に0をパディングする方法
- 22. .NETリモート処理中にカスタムシリアル化を使用する方法?
- 23. Sphinxの実行中にソースファイルを前処理する方法は?
- 24. 処理中に外部ライブラリを追加する方法
- 25. 処理中にGLExceptionをデバッグする方法は?
- 26. ヘイルキャストクライアントへの接続中に例外を処理する方法
- 27. ゲーム中にiPhoneの「ローバッテリー」のポップアップを処理する方法
- 28. シグナルの処理中に同じシグナルをブロックする方法は?
- 29. 接続停止中にmongooseデータベースを処理する方法
- 30. 処理中に "javax.media"ライブラリをインストールする方法
Hmm ...私の複製はinfact 3であり、テスト中に2つのデータノードをダウンさせましたが、次にこれを取得します:INFO hdfs.DFSClient:任意のノードからブロックblk_7178702856169522439_8519を取得できませんでした:java.io.IOException:現在のブロックを含むライブノードはありません。 – Meg
複製が完全に完了していません。 –