最近在學習如何對Job的性能調優,大概主要有以下幾點:
一、通過combiner來減少網絡流量
二、map與reduce的數量
三、減少小文件的輸入
四、調整拉取map結果的線程數
五、使用壓縮
六、重用JVM
七、儘量讓reduce merge發生在內存
八、根據猜測執行來運行
九、代碼重構與算法重寫
十、設置noatime
默認情況下,linux會把文件訪問的時間atime做記錄,不過一般情況下我們是不需要這些訪問時間的,因此,我們可以使用noatime和nodiratime來減少對I/O的寫操作!
這裏先列一個框架先,等有空了再一一補上!!!