Hadoop GUIを確認したところ、reduceタスクの一部が66.66%に達しており、それらは長期間そこにとどまっていることがわかりました。カウンターを調べてみると、違います。入力レコードの数はゼロとして表示されます。
久しぶりに入力レコードを取得し、処理を開始します。いくつかは、より長い時間でも0の入力レコードを表示し、タスクの試行によって強制終了され、600ミリ秒間ステータスを報告できませんでした。
ただし、一部のレデューサーは、入力レコードをカウンターにすぐに表示し、すぐに処理を開始します。
一部のレデューサーの入力レコードの取得になぜこれほどの遅延があるのか、私にはわかりません。これはこのプログラムでのみ発生し、他のプログラムでは発生しません。
このmapreduceジョブでは、reduceのreduceメソッドの前のconfigureメソッドで、分散キャッシュから大量のデータを読み取りました。これが理由ですか?私はわかりません。