0

MapReduce 実行の特定のフェーズで Hadoop クラスターのベンチマークを行うことに興味があります。つまり、map フェーズ、shuffle フェーズ、reduce フェーズを明確に分離したいと考えています。

すべてのマップ タスクが終了する前に何かをシャッフルまたは削減することを控え、すべてのシャッフルが終了するまで削減を控える方法はありますか? これらの各フェーズでのリソース消費のみに関心があるため、実行時間への影響は気にしません。

特定のノードでのタスクの分離に関する別の SO 投稿を見ました。これは、削減してはならないノードとマップしてはならないノードを設定mapred.tasktracker.reduce.tasks.maximumすることによって行われますが、この場合、マップと削減のタスクはまだ同時に実行されており、私もできません。各フェーズで完全なクラスターを使用します。0mapred.tasktracker.map.tasks.maximum0

ありがとう!

4

1 に答える 1

1

すべてのマップ タスクが終了する前に何かをシャッフルまたは削減することを控え、すべてのシャッフルが終了するまで削減を控える方法はありますか?

mapreduce.job.reduce.slowstart.completedmapsは 0.05 に設定され、次のように定義されます。Fraction of the number of maps in the job which should be complete before reduces are scheduled for the job.

上記のパラメーターを 1 に設定すると、すべてのマップ タスクの実行が完了するまでシャッフルは開始されません。

于 2012-02-01T03:56:49.803 に答える