码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop性能调优

时间:2015-09-07 15:35:01      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

1.Jvm重用

JVM重用不是指同一Job的两个或两个以上的Task同时运行于同一JVM上,而是 N个Task按顺序在同一个Jvm上运行,即省去了Jvm关闭和再重启的时间。N值可以在Hadoop的mapre-site.xml文件mapreduce.job.jvm.numtasks(默认1)属性进行设置。也可在hive的执行设置:set  mapred.job.reuse.jvm.num.tasks=10;(默认1)

一个TT最多可以同时运行的task数目由mapred-site.xml中mapreduce.tasktracker.map.tasks.maximummapreduce.tasktracker.reduce.tasks.maximum设置。其他方法,如在JobClient端通过命令行:-D mapred.tasktracker.map.tasks.maximum=number 或者 conf.set("mapred.tasktracker.map.tasks.maximum","number")设置都是【无效的】

 

 

 

哪些因素影响作业的运行效率?

mapper的数量:尽量将输入数据切分成数据块的整数倍。如有太多小文件,则考虑CombineFileInputFormat

reducer的数量:为了达到最高性能,集群中reducer数应该略小于reducer的任务槽数

combiner使用: 充分使用合并函数减少map和reduce之间传递的数据量,combiner在map后运行

中间值的压缩:对map输出值进行压缩减少到reduce前的传递量conf.setCompressMapOutput(true)setMapOutputCompressorClass(GzipCodec.class)

自定义Writable:如果使用自定义的Writable对象或自定义的comparator,则必须确保已实现RawComparator

调整shuffle参数:MapReduce的shuffle过程可以对一些内存管理的参数进行调整,以弥补性能不足

 

Hadoop性能调优

标签:

原文地址:http://www.cnblogs.com/skyl/p/4788965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!