的hadoop:减速器的数量保持恒定的4(hadoop: number of reducers re

2019-10-17 08:43发布

我正在使用Hadoop的工作mapred.reduce.tasks = 100 (只是试验)。 催生了地图的数量是537为依赖于输入分裂。 问题是减速并行“运行”不会超越4的数量即使在地图是100%完成。 是否有增加运行的CPU使用率是次优和减少是很慢的减速机的数量的方法。

我还设置mapred.tasktracker.reduce.tasks.maximum = 100 。 但这似乎并没有影响到并行运行减速机的数量。

Answer 1:

检查由分区程序使用的哈希码; 如果你的钥匙只返回4个哈希码值,Hadoop的将只安排4个减速。

您可能需要但是实现自己的分区,以获得更多的减速器,如果你的映射器只产生4个按键,4是减速的最大数量。



Answer 2:

您可以使用指定作业的配置如下图所示减速器的数量:

job.setNumReduceTasks(6);

此外,当你执行你的罐子,你可以通过属性象下面这样:

-D mapred.reduce.tasks = 6



Answer 3:

事实证明,被要求全部是mapred的重新启动和更改mapred-site.xml中后DFS守护进程。 mapred.tasktracker.reduce.tasks.maximum确实是被设定为增加减少运力的权利参数。

不明白为什么Hadoop的选择不重新加载mapred-site提交作业时,每一次。



文章来源: hadoop: number of reducers remains a constant 4