Hadoop 任務執行方面的優化

1. 推測式執行: 

  如果jobtracker 發現有拖後的任務,會再啓動一個相同的備份任務,然後哪個先執行完就會去kill掉另一個,因此會在監控頁面上經常能看到正常執行完的作業會有被kill掉的任務。

 

2.推測式執行缺省打開,但如果是代碼問題,並不能解決問題,而且會使集羣更慢,通過在mapred-site.xml 配置文件中設置 mapred.map.tasks.speculative.execution 和mapred.reduce.tasks.speculative.execution 可爲map任務或reduce 任務開啓或關閉推測式執行,

 

3.重用jvm.

  可以省去啓動新的jvm 消耗的時間.在 mapred-site.xml 配置文件中設置mapred.job.reuse.jvm.num.tasks 設置單個jvm 上最大的任務數(1,> 1 或者-1 表示沒有限制);

 

4.忽略模式

  任務在讀取數據失敗2次後,會把數據位置告訴jobtracker ,然後重新啓動該任務並且在遇到所記得壞數據時直接跳過,(缺省關閉,用SkipBadRecord方法打開)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章