reducer采用映射器核心

时间:2016-10-01 11:07:05

标签: hadoop mapreduce yarn

我在hadoop集群上运行mapreduce作业,其中包含88个内核和60个reducer。出于某种原因,它只使用79个集群核心。在开始时,它使用79个映射器运行,但是当完成一半分割时,它使用53个映射器和26个减少器,并且运行的映射器的数量继续缩小,这增加了作业完成时间。 Log说这些26个reducer复制计算数据。 是否有可能让hadoop首先运行所有映射器并在减速器之后运行? 就像在spark或tez作业中一样,他们使用所有核心进行映射,然后使用所有核心进行映射。

1 个答案:

答案 0 :(得分:5)

mapreduce.job.reduce.slowstart.completedmaps设为1.0。引自mapred-default.xml

  

mapreduce.job.reduce.slowstart.completedmaps

     

0.05

     

作业中应该在减少之前完成的地图数量的分数计划用于作业。