我创建了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
在映射完成后,减少任务开始。我按照建议的here为mapreduce.job.reduce.slowstart.completedmaps
工作0.0
,但它没有任何区别。
我正在使用Hadoop 2.5.1
答案 0 :(得分:1)
我的猜测是你在本地模式下工作。所以只有一个mapper运行。当至少一个映射器完全输出其输出时(参见设置mapreduce.job.reduce.slowstart.completedmaps = 0.0),将开始减少阶段。