MR計算框架特點
阿新 • • 發佈:2018-11-19
MR計算框架特點
1.資料劃分和計算任務排程:
系統自動將一個作業(Job)待處理的大資料劃分為很多個數據塊,每個資料塊對應於一個計算任務(Task),並自動 排程計算節點來處理相應的資料塊。作業和任務排程功能主要負責分配和排程計算節點(Map節點或Reduce節點),同時負責監控這些節點的執行狀態,並 負責Map節點執行的同步控制。
2.資料/程式碼互定位(資料本地化策略)
為了減少資料通訊,一個基本原則是本地化資料處理,即一個計算節點儘可能處理其本地磁碟上所分佈儲存的資料,這實現了程式碼向 資料的遷移(Hadoop移動的是運算,而不是資料);當無法進行這種本地化資料處理時,再尋找其他可用節點並將資料從網路上傳送給該節點(資料向程式碼遷移),但將盡可能從資料所在的本地機架上尋 找可用節點以減少通訊延遲。
3.系統優化
為了減少資料通訊開銷,中間結果資料進入Reduce節點前會進行一定的合併處理(Combiner);一個Reduce節點所處理的資料可能會來自多個 Map節點,為了避免Reduce計算階段發生資料相關性,Map節點輸出的中間結果需使用一定的策略進行適當的劃分處理(分割槽策略),保證相關性資料傳送到同一個 Reduce節點;此外,系統還進行一些計算效能優化處理,如對最慢的計算任務採用多備份執行、選最快完成者作為結果(推測執行機制)。
4.出錯檢測和恢復:
以低端商用伺服器構成的大規模MapReduce計算叢集中,節點硬體(主機、磁碟、記憶體等)出錯和軟體出錯是常態,因此 MapReduce需要能檢測並隔離出錯節點,並排程分配新的節點接管出錯節點的計算任務。同時,系統還將維護資料儲存的可靠性,用多備份冗餘儲存機制提 高資料儲存的可靠性,並能及時檢測和恢復出錯的資料。