最近在学习如何对Job的性能调优,大概主要有以下几点:
一、通过combiner来减少网络流量
二、map与reduce的数量
三、减少小文件的输入
四、调整拉取map结果的线程数
五、使用压缩
六、重用JVM
七、尽量让reduce merge发生在内存
八、根据猜测执行来运行
九、代码重构与算法重写
十、设置noatime
默认情况下,linux会把文件访问的时间atime做记录,不过一般情况下我们是不需要这些访问时间的,因此,我们可以使用noatime和nodiratime来减少对I/O的写操作!
这里先列一个框架先,等有空了再一一补上!!!