hadoop job 重要性能参数

mapred.task.profile

是否对任务进行profiling,调用java内置的profile功能,打出相关性能信息

mapred.task.profile.{maps|reduces}

对几个mapreduce进行profiling。非常影响速度,建议在小数据量上尝试

mapred.job.reuse.jvm.num.tasks

1表示不reuse-1表示无限reuse,其他数值表示每个jvm reuse次数。reuse的时候,map结束时不会释放内存!

mapred.{map|reduce}.tasks.speculative.execution

会对运行慢的任务起一个备份任务,看哪个先完成,kill掉后完成的备份

io.sort.spill.percent

开始spill的内存比例阈值,对mapreduce都生效

mapred.job.shuffle.input.buffer.percent

reducecopy时使用的堆空间的比例

mapred.tasktracker.{map|reduce}.tasks.maximum

一个Tasktracker上可同时运行的最大mapreduce任务数

mapred.reduce.copy.backoff

reduce获取一份map输出数据的最大时间,单位秒。

io.compression.codecs

压缩算法

dfs.block.size

hdfs上的文件block大小

mapred.reduce.slowstart.completed.maps

控制reduce的启动时机。表示全部map的百分之多少完成后,才启动reduce。如果机器内存紧张,可以适当设大改参数,等大部分map结束并释放内存后才启动reduce;如果希望尽快开始shuffle,则可配合大量map数,将该值设小,以尽早启动reduce,开始copy

io.sort.mb

map使用的缓存,影响spill的次数。

mapred.child.java.opts

同时设置mapreducejvm参数

mapred.map.child.java.opts

分开设置mapjvm参数,包括GC策略

mapred.reduce.child.java.opts

分开设置reducejvm参数

map.sort.class

map的输出key的排序方法

mapred.output.compression.type

压缩类型

mapred.min.split.size

每个map的最小输入大小,该值越大,map数越少

mapred.max.split.size

每个map的最大输入大小,该值约小,map数越多

mapred.reduce.parallel.copies

reducemap结果copy数据时,每个reduce起的并行copy线程数。该值越大,io压力越大,但可能引起网络堵塞,copy效率反而降低。

io.sort.factor

merge时的并行merge数,同时影响mapspill文件mergereduce中的merge

mapred.compress.map.output

指定map的输出是否压缩。有助于减小数据量,减小io压力,但压缩和解压有cpu成本,需要慎重选择压缩算法。

mapred.map.output.compression.codec

map输出的压缩算法

mapred.output.compress

reduce输出是否压缩

mapred.output.compression.codec

控制mapred的输出的压缩的方式

io.sort.record.percent

map中间数据的indexdataio.sort.mb中占内存的比例,默认0.05%,需要根据具体数据的特点调整:index的大小固定为16byte,需要根据data的大小调整这个比例,以使io.sort.mb的内存得到充分利用)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值