MapReduce之Shuffle调优

来点Hadoop的料吧,嘻嘻.

Shuffle调优

1.将缓冲区大小(默认100M)设置更大. 一般情况下会将缓冲区设置为250~400M左右

(切分[split]的大小一般会设置与块[block]的大小相同[默认128M].缓冲区的大小值一般取决于切分的大小,所以一般是128M的倍数.为了方便记忆我们一般都说设为250~400M左右)

2.减少溢写次数,如果能够添加Combiner,尽量添加Combiner.

(存在不能Combiner的情况,所以视情况而定.)

3.将缓冲区阈值(默认80%)设置更大.

(但是不推荐该方法,一旦调大阈值也就意味着,一旦写入缓冲区的速度,与写出到磁盘速度差异大时,存在阻塞的可控范围缩小)

4.将MapTask的结果压缩

(文件更小网络的传输速度更快,但是压缩要消耗时间,解压也要消耗时间,并不一定能真正的提高速度)

5.增加fetch线程的数量

(在服务器性能所能承载的范围内添加线程数量)

6.将merge因子设置更大(默认为10)

(不推荐.虽然meger之后传输的文件数量会减少,但是也增加了排序的次数.)

7.将Reduce的阈值设置更小.(默认0.05)

(不推荐,如果MapTask和ReduceTask在同一节点工作,就会发生资源互抢问题.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值