1. 程式人生 > >Yarn流程、Yarn與MapReduce 1相比

Yarn流程、Yarn與MapReduce 1相比

lin ont 流程 基本 ESS container mage 詳細 註冊

[TOC]


Yarn流程

可以參考《Hadoop權威指南》P79中的圖示與介紹進行理解,當然結合下面這個圖示與其中的解釋進行理解則會更加清晰易懂,當然,基本的參考個人覺得書本上的圖示要更精簡,下面這個可以說是其詳細版:

技術分享圖片

1) 用戶向YARN 中提交應用程序, 其中包括ApplicationMaster 程序、啟動ApplicationMaster 的命令、用戶程序等。

2) ResourceManager 為該應用程序分配第一個Container, 並與對應的NodeManager 通信,要求它在這個Container 中啟動應用程序的ApplicationMaster。

3) ApplicationMaster 首先向ResourceManager 註冊, 這樣用戶可以直接通過ResourceManage 查看應用程序的運行狀態,然後它將為各個任務申請資源,並監控它的運行狀態,直到運行結束,即重復步驟4~7。

4) ApplicationMaster 采用輪詢的方式通過RPC 協議向ResourceManager 申請和領取資源。

5) 一旦ApplicationMaster 申請到資源後,便與對應的NodeManager 通信,要求它啟動任務。

6) NodeManager 為任務設置好運行環境(包括環境變量、JAR 包、二進制程序等)後,將任務啟動命令寫到一個腳本中,並通過運行該腳本啟動任務。

7) 各個任務通過某個RPC 協議向ApplicationMaster 匯報自己的狀態和進度,以讓ApplicationMaster 隨時掌握各個任務的運行狀態,從而可以在任務失敗時重新啟動任務。在應用程序運行過程中,用戶可隨時通過RPC 向ApplicationMaster 查詢應用程序的當前運行狀態。

8) 應用程序運行完成後,ApplicationMaster 向ResourceManager 註銷並關閉自己。

Yarn與MapReduce 1相比

MapReduce 1 Yarn
Jobtracker ResourceManager、Application Master、TimeLine Server
Trasktracker NodeManager、
Slot Container

TimeLine Server即時間軸服務器,用來記錄歷史作業。

Yarn流程、Yarn與MapReduce 1相比