调优可以通过系统配置、程序编写和作业调度算法来进行。 hdfs 的 block.size 可以调到128/256(网络很好的情况下,默认为 64)
调优的大头:mapred.map.tasks、mapred.reduce.tasks 设置 mr 任务数(默认都是 1)
mapred.tasktracker.map.tasks.maximum 每台机器上的最大 map 任务数
mapred.tasktracker.reduce.tasks.maximum 每台机器上的最大 reduce 任务数
mapred.reduce.slowstart.completed.maps配置reduce任务在map任务完成到百分之几的时候开始进入
这个几个参数要看实际节点的情况进行配置,reduce 任务是在 33%的时候完成 copy,要在这之前完成 map 任务,(map 可以提前完成)
mapred.compress.map.output,mapred.output.compress 配置压缩项,消耗 cpu 提升网络和磁盘 io 合理利用 combiner 。注意重用 writable 对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)