我正在使用Hadoop的工作mapred.reduce.tasks = 100
(只是试验)。 催生了地图的数量是537为依赖于输入分裂。 问题是减速并行“运行”不会超越4的数量即使在地图是100%完成。 是否有增加运行的CPU使用率是次优和减少是很慢的减速机的数量的方法。
我还设置mapred.tasktracker.reduce.tasks.maximum = 100
。 但这似乎并没有影响到并行运行减速机的数量。
我正在使用Hadoop的工作mapred.reduce.tasks = 100
(只是试验)。 催生了地图的数量是537为依赖于输入分裂。 问题是减速并行“运行”不会超越4的数量即使在地图是100%完成。 是否有增加运行的CPU使用率是次优和减少是很慢的减速机的数量的方法。
我还设置mapred.tasktracker.reduce.tasks.maximum = 100
。 但这似乎并没有影响到并行运行减速机的数量。
检查由分区程序使用的哈希码; 如果你的钥匙只返回4个哈希码值,Hadoop的将只安排4个减速。
您可能需要但是实现自己的分区,以获得更多的减速器,如果你的映射器只产生4个按键,4是减速的最大数量。
您可以使用指定作业的配置如下图所示减速器的数量:
job.setNumReduceTasks(6);
此外,当你执行你的罐子,你可以通过属性象下面这样:
-D mapred.reduce.tasks = 6
事实证明,被要求全部是mapred的重新启动和更改mapred-site.xml中后DFS守护进程。 mapred.tasktracker.reduce.tasks.maximum
确实是被设定为增加减少运力的权利参数。
不明白为什么Hadoop的选择不重新加载mapred-site
提交作业时,每一次。