当前位置:  开发笔记 > 运维 > 正文

默认减速机数量

如何解决《默认减速机数量》经验,为你挑选了1个好方法。

在Hadoop中,如果我们没有设置减速器数量,那么将创建多少减速器?

像映射器的数量取决于(总数据大小)/(输入分割大小),例如,如果数据大小是1 TB并且输入分割大小是100 MB.然后映射器的数量将是(1000*1000)/ 100 = 10000(一万).

减速机的数量取决于哪些因素?为工作创建了多少减速器?



1> Ravindra bab..:

减少了多少?(来自官方文档)

正确的减少数量似乎是0.95或1.75乘以(节点数)*(每个节点的最大容器数).

使用0.95时,所有缩减都可以立即启动,并在地图完成后开始传输地图输出.使用1.75,更快的节点将完成第一轮减少并启动第二波减少,从而更好地实现负载平衡.

增加减少的数量会增加框架开销,但会增加负载平衡并降低故障成本.

上面的缩放因子略小于整数,以便在框架中为推测任务和失败任务保留一些减少时隙.

本文还介绍了Mapper计数.

有多少地图?

映射的数量通常由输入的总大小驱动,即输入文件的块总数.

地图的正确并行度似乎是每个节点大约10-100个地图,尽管已经为非常cpu-light地图任务设置了300个地图.任务设置需要一段时间,因此最好是地图至少需要一分钟才能执行.

因此,如果您期望10TB的输入数据并且块大小为128MB,那么最终会得到82,000个映射,除非Configuration.set(MRJobConfig.NUM_MAPS, int)(仅提供框架提示)用于将其设置得更高.

如果要为减速器数更改默认值1,可以将以下属性(来自hadoop 2.x版本)设置为命令行参数

mapreduce.job.reduces

要么

你可以用编程设置

job.setNumReduceTasks(integer_numer);

看看另一个相关的SE问题:Hadoop上理想的减速器数量是多少?

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有