2014-10-20 14 views
0

我創建了一個ShuffleConsumerPlugin自定義實現,它的工作原理。但是,在我的映射任務完成後,它被實例化:爲什麼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 

在映射完成後開始減少任務。我設置mapreduce.job.reduce.slowstart.completedmaps0.0作業的建議here,但它並沒有任何區別。

我使用Hadoop 2.5.1

回答

1

我的猜測是,你是在本地模式下工作。所以只會有一個映射器運行。當至少有一個映射器完全提供其輸出時(通過提到的設置mapreduce.job.reduce.slowstart.completedmaps = 0.0),Reduce階段將開始。

相關問題