Hadoop优化


     1、mr程序的效率瓶颈
         功能:分布式离线计算

         ->计算机性能
         CPU、内存、磁盘、网络

         ->I/O草足优化
             1、数据倾斜(代码优化)
             2、map和reduce数设置不合理
             3、map运行阶段时间太长,导致reduce等待太久
             4、小文件太多(combineTextInputFormat小文件合并)
             5、不可分块的超大文件(不断的溢写)
             6、多个溢写小文件需要多次merge

     2、mr优化方法
         六个方面考虑:数据输入、Map阶段、Reduce阶段、IO阶段、数据倾斜、参数调优

         1、数据输入
             1)合并小文件:在执行mr任务前就进行小文件合并
             2)采用CombineTextInputFormat来作为输入,解决输入端大量小文件的场景
             mr并不适合处理大量小文件

         2、Map阶段
             1)减少溢写次数(增加内存到200M 80%)
                 参数在mapred-default.xml
                     mapreduce.task.io.mb改内存
                     mapreduce.map.sort.spill.percent改百分数
             2)减少合并的次数
                     mapreduce.task.io.sort.factor//默认是10,调大,文件的个数
             3)在map之后,不影响业务逻辑的条件下进行combiner

         3、reduce
             1)合理的设置map与reduce的个数,需调试
             2)设置map和reduce共存
                 设置运行一定程度的map运行后 启动reduce减少时间
                 mapreduce.job.reduce.slowstart.completedmaps//默认是0.05,调小
             3)合理设置reduce端的buffer
                 mapreduce.reduce.markreset.buffer.percent//默认是0.0

         4、IO传输阶段
             1)进行数据压缩
             2)使用sequenceFile二进制文件,使字节之间的紧密度更高

         5、数据倾斜
             1)进行范围分区
             2)自定义分区
             3)Combine
             4)能用mapjoin,就坚决不用reducejoin

         6、参数调优
             1)设置核心数
                 mapreduce.map.cpu.vcores    核数
                 mapreduce.reduce.cpu.vcores
             2)设置内存
                 mapreduce.map.memory.mb     //默认1024MB,调高
                 mapreduce.reduce.memory.mb
             3)reduce取map端那数据并行度
                 mapreduce.reduce.shuffle.parallelcopies //默认是5
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值