MapReduce是Hadoop2.x的一個計算框架,利用分治的思想,將一個計算量很大的作業(yè)分給很多個任務,每個任務完成其中的一小部分,然后再將結果合并到一起。將任務分開處理的過程為map階段,將每個小任務的結果合并到一起的過程為reduce階段。下面先從宏觀上介紹一下客戶端提交一個作業(yè)時,Hadoop2.x各個組件之間的聯(lián)系及處理流程。然后我們再具體看看MapReduce計算框架在執(zhí)行一個作業(yè)時,做了些什么。

YARN

    YARN是Hadoop2.x框架下的資源管理系統(tǒng),其組成部分為:

    1)全局資源管理器(global resource manager):整個系統(tǒng)的資源管理和調(diào)配。

    2)節(jié)點管理器(node manager)(每個節(jié)點都有一個)負責任務的啟動、配置及其資源的監(jiān)控

    3)針對每個應用程序的應用程序管理器(application-specific application master)(因為Hadoop2.x支持的計算框架有很多,不只是MapReduce,還有像storm、spark、Tez不同處理機制的計算框架,所以MapReduce是一種應用程序,每個MapRed