hadoop的任務調度系統

當hadoop中的任務數量多了以後,就須要經過指定一些策略使得任務調度更快。hadoop中的任務調度與操做系統中的任務調度有些相似,也有許多方法提供使用。服務器

在指定調度策略以前,須要對一些指標進行研究:app

  • mapper的數量

mapper須要運行的時間?時間長度取決於使用的輸入格式。oop

  • reducer的數量

爲了達到更高的性能,集羣中的reducer數量應該略小於reducer的任務槽數。性能

  • combiner

做業是否充分利用combiner來減小經過shuffle傳輸的數據量操作系統

  • 中間值的壓縮

對map輸出進行壓縮幾乎總能使做業執行的更快內存

  • 調整shuffle

shuffle過程能夠對一些內存管理的參數進行調整,以彌補性能的不足hadoop

如今有一些第三方調度系統能夠提供給開發者使用。開發

  • Apache Ooize

客戶端將一個當即或稍後執行的工做流定義到ooize服務器中。在ooize中工做流是一個由動做(action)節點和控制流節點組成的DAG。工作流

動做節點執行工做流任務。當工做流結束時,Oozie經過發送一個HTTP的回調向客戶端通知工做流的狀態。還能夠在每次進入工做流或退出一個動做節點時接收到回調。內存管理

相關文章
相關標籤/搜索