1. 程式人生 > >MapReduce job提交到Yarn的工作流程

MapReduce job提交到Yarn的工作流程

  1. 使用者向Yarn的RM提交應用程式,其中包括ApplicationMaster程式(應用程式的主程式),啟動ApplicationMaster命令等
  2. RM首先為該app程式分配第一個container容器,並與對應的NM通訊,要求NM在這個Container中啟動應用程式的application master
  3. App master首先向Apps manager註冊,這樣的話,我們就可以通過web 8088,檢視應用程式的執行狀態,且監控它的執行狀態
  4. ApplicationMaster向Resource Scheduler申請和領取資源
  5. 一旦ApplicationMaster申請到資源後,便與對應的NM通訊,要求它啟動任務
  6. NM節點啟動container容器,執行task任務
  7. 各個容器的任務,通過rpc向app master彙報自己的狀態和進度,以讓APP master隨時掌握各個任務的執行狀態,從而在任務失敗時 重啟任務。那麼使用者可以通過web介面實時檢視應用的當前執行狀態
  8. app執行完成後,app master向 apps manager登出並關閉 **總結:**當用戶向Yarn中提交一個應用程式,分為2階段: a. 啟動app master 1,2 b. app master申請資源 執行任務 結束任務 3-8