MapReduce的Reducer数量确定

本文探讨了在MapReduce框架中如何通过合理设置Reducer数量来提高负载平衡效果。介绍了设置Reducer数量的一般原则,以及不同数量对任务调度的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reducer的数量可以由程序员明确设置,那么设置多少Reducer可以达到较好地效果呢?Reducer的数量范围为:(0.95 ~1.75 ) * 节点数量 * 每个节点上最大的容器数。参数yarn.scheduler.minimum-allocation-mb设置了每个容器可请求的最小内存,那么最大容器数可根据总的内存除以该参数计算得出。当使用0.75时,所有的Reducer会被立即加载,并当Mapper完成时开始传输Mapper的输出。使用1.75时,较快的节点将完成它们第一轮的任务,然后加载第二波任务,这样对负载平衡具有更好的效果。增加Reducer的数量虽然增加了框架开销,但增加了负载平衡和降低了失败的成本。上面的比例因子比总的Reducer数量稍微少些,以为预测执行的任务和失败的任务保留少量的Reducer槽,也就是实际的Reducer数量为上面公式得出的数量加上保留的Reducer数量。


转载自http://www.linuxidc.com/Linux/2014-11/109286.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值