0

私のhadoopプログラムは、入力データを/usr/countcomputers.txtファイルに設定されている特定の数の部分に分割する1つのマッパーを使用します(マッパー関数によって読み取られます)。さらに、一部は各レデューサーに到達します。したがって、/usr/countcomputers.txtファイルに設定されている数は、レデューサーの数を定義します。この点に関して、私は質問がありました。レデューサーは、TaskTrackerのデーモンが起動されたコンピューターでのみ実行されますか、それとも、JobTrackerとセカンダリNameNodeによって、NameNodeのどのデーモンが起動されたかを含むすべてのノードで実行されますか?私にとって、/usr/countcomputers.txtファイルに設定されている番号はそれに依存しているので、この質問への回答を知ることは非常に重要です。プログラムで読んでください。

4

1 に答える 1

0

レデューサーを実行できるのはタスクトラッカーのみです(プロパティにゼロより大きい数値を構成した場合mapreduce.tasktracker.reduce.tasks.maximum)。

したがって、tasktrackerが実行されているホストでのみ、reduceタスクが実行されると安全に想定できます。

于 2013-02-06T17:27:32.373 に答える