hadoop之 yarn (簡單瞭解)

Yarn經過兩個 守護線程提供核心服務:ResourceManager,管理集羣全部資源的切分以及做業的調度與監控;NodeManager,運行在集羣全部節點上,啓動並監控容器的運行情況,並負責向ResourceManager彙報。linux

在linux上,hadoop是經過cgroup技術實現container資源隔離的。app

下面有兩張圖,都是一個做業在yarn中運行流程,不過 我以爲第二張圖更加清晰易懂,第一張圖來自於hadoop權威指南。分佈式

 

 

oop

 

根據這兩張圖來講明下一個做業在yarn中運行流轉過程。spa

在yarn上運行一個application:線程

1. client首先會鏈接RM,請求運行一個AM(ApplicationMaster負責單個應用程序的管理,監控task的執行) .blog

2. RM會尋找一個能夠運行 AM的 容器的節點,並啓動AM。hadoop

3. AM經過heartbeat向RM 申請資源。嚴格的講,一個application只會運行一次AM。它能夠在container簡單的運行一個計算,也能夠向RM申請更多的資源,運行分佈式的計算。資源

4. 當AM申請到更多的資源時,便會與對應的NM通訊,要求其啓動任務。io

5. 各個任務經過RPC協議向AM彙報本身的狀態和進度。當程序運行完畢後,AM向RM註銷並關閉本身。

相關文章
相關標籤/搜索