为什么ShuffleConsumerPlugin在映射之前没有启动?

时间:2014-10-20 19:19:48

标签: java hadoop hadoop2

我创建了ShuffleConsumerPlugin的自定义实现,但它确实有效。但是,它在我的映射任务完成后被实例化:

org.apache.hadoop.mapred.LocalJobRunner: Waiting for map tasks
org.apache.hadoop.mapred.LocalJobRunner: Starting task: attempt_local1582630093_0001_m_000000_0
org.apache.hadoop.mapred.LocalJobRunner: map > sort
org.apache.hadoop.mapred.Task: Task 'attempt_local1582630093_0001_m_000000_0' done.
org.apache.hadoop.mapred.LocalJobRunner: map task executor complete.
org.apache.hadoop.mapred.LocalJobRunner: Waiting for reduce tasks
org.apache.hadoop.mapred.LocalJobRunner: Starting task: attempt_local1582630093_0001_r_000000_0
org.apache.hadoop.mapred.ReduceTask: Using ShuffleConsumerPlugin: FooPlugin

在映射完成后,减少任务开始。我按照建议的heremapreduce.job.reduce.slowstart.completedmaps工作0.0,但它没有任何区别。

我正在使用Hadoop 2.5.1

1 个答案:

答案 0 :(得分:1)

我的猜测是你在本地模式下工作。所以只有一个mapper运行。当至少一个映射器完全输出其输出时(参见设置mapreduce.job.reduce.slowstart.completedmaps = 0.0),将开始减少阶段。