Hadoop优化

本文介绍了Hadoop性能优化的一些关键参数及其作用,如调整inputformat的split大小控制mapper数量,推测任务的启用与关闭,io.sort相关的内存缓冲区设置,以及dfs.block.size等数据块大小的设定,确保Hadoop集群的高效运行。
摘要由CSDN通过智能技术生成

1.hadoop的inputformat提供了在block的基础上更细粒度控制mapper输入块的大小,设置split的大小范围。

FileInputFormat.setMaxInputSplitSize(job,size)

FileInputFormat.setMinInputSplitSize(job,size)

这种方法可以控制mapper的数量。

也可以在配置文件中配置,mapred.min.split.size。


2.推测任务。

mapred.map.tasks.speculative.execution和mapred.reduce.tasks.speculative.execution。

当所有task开始运行后,Job Tracker会统计所有任务的平均进度,如果某个task所在的node机器配置比较低或者CPU 占用很高,导致任务执行比总体任务的平均执行要慢。此时,Job Tracker会启动一个新的任务duplicate task ,这个新任务就是推测任务,原有任务和新任务哪个先执行完就把另外一个kill掉。这也是在Job Tracker页面看到任务执行成功,但是总有些任务被kill的原因。推测任务也要占用计算资源,任务执行本身很耗资源的情况下可以设置成false,禁止执行。


3.io.sort.mb

以MB为单位,默认100M,定义了map输出结果在内存中占用buffer的大小,当buffer达到一定的阈值,会启动后台线程将buffer内容写入本地磁盘(一个spill文件)。观察hadoop的日志,如果spill次数比较多说明这个缓存大小设置太低。

io.sort.spill.percent 就是上述的阈值,默认0.8。


4.io.sort.factor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值