Hadoop性能调优(二)--Map and Reduce tasks 数量

本文探讨了Hadoop性能调优中如何确定Map和Reduce任务的数量。根据Apache Hadoop Wiki的建议,增加任务数会增加系统开销,但有助于负载均衡和减少任务失败风险。map任务数量由Input Split大小决定,用户可通过调整mapred.min.split.size来影响其数量,以避免过多导致的网络传输压力和Job Tracker负担。理想的map并行度大约为每个节点10-100个任务,而reduce任务数量可以通过mapred.reduce.tasks参数设定,推荐值为0.95或0.75*(节点数 * 最大reduce任务数),以实现更好的负载均衡和效率。
摘要由CSDN通过智能技术生成

 

 Hadoop wiki(http://wiki.apache.org/hadoop/HowManyMapsAndReduces)对这个问题有较详细的解释,大致有以下几个观点:

  • 增加task的数量,一方面增加了系统的开销,另一方面增加了负载平衡和减小了任务失败的代价;
  • map task的数量即mapred.map.tasks的参数值,用户不能直接设置这个参数。Input Split的大小,决定了一个Job拥有多少个map。默认input split的大小是64M(与dfs.block.size的默认值相同)。然而,如果输入的数据量巨大,那么默认的64M的block会有几万甚至几十万的Map Task,集群的网络传输会很大,最严重的是给Job Tracker的调度、队列、内存都会带来很大压力。mapred.min.split.size这个配置项决定了每个 Input Split的最小值,用户可以修改这个参数,从而改变map task的数量。
  • 一个恰当的map并行度是大约每个节点10-100map,且最好每个map的执行时间至少一分钟。
  •  reduce task的数量由mapred.reduce.tasks这个参数设定&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值