YARN任務執行流程
- yarn簡述
- 關鍵字解釋
- 作業送出運作情況
yarn簡述
yarn是一個資源排程平台,負責為運算程式提供伺服器運算資源,相當于一個分布式作業系統平台,而mapreduce等運算程式則相當于運作與作業系統之上的應用程式。
關鍵字解釋
ResourceManager:總的老大:處理用戶端請求,監控NodeManager,啟動或監控ApplicationMaster,資源的配置設定與排程
ApplicationMaster:單個job的老大:負責資料切分,為應用程式申請資源并配置設定内部的任務,任務的監控與容錯
NodeManager:單個節點的老大:管理單個節點的資源,處理來自ResourceManager、ApplicationMaster的指令
Container:資源抽象:如記憶體、cpu、磁盤、網絡等
作業送出運作情況
1.client向yarn送出job,首先找ResourceManager配置設定資源,
2.ResourceManager開啟一個Container,在Container中運作一個Application manager
3.Application manager找一台nodemanager啟動Application master,計算任務所需的計算
4.Application master向Application manager(Yarn)申請運作任務所需的資源
5.Resource scheduler将資源封裝發給Application master
6.Application master将擷取到的資源配置設定給各個nodemanager
7.各個nodemanager得到任務和資源開始執行map task
8.map task執行結束後,開始執行reduce task
9.map task和 reduce task将執行結果回報給Application master
10.Application master将任務執行的結果回報Application manager