1. 程式人生 > >YARN基本架構

YARN基本架構

1.x版本和2.x架構區別

1.x版本時代:Hadoop中的MapReduce同時處理業務邏輯運算和資源的排程,耦合性較大
2.x版本 增加了Yarn Yarn只負責資源的排程,MapReduce只負責運算

Yarn概述

Yarn是一個資源排程平臺,負責運算程式提供伺服器運算資源,相當於一個分散式的作業系統平臺,而MapReduce等運算程式相當於執行作業系統上的應用程式

Yarn 基本架構

yarn主要是由ResourceManager 總的資源排程
NodeManager 節點的資源排程
,ApplicationMaster 任務的資源排程
Container 容器,分配CPU,記憶體,IO等

在這裡插入圖片描述

  1. ResourceManager作用:
    (1)處理客戶端請求 比如客戶端JobSubmission作業提交
    在這裡插入圖片描述
    (2)監控NodeManager
    在這裡插入圖片描述
    節點狀態
    (3)啟動或監控ApplicationMaster
    在這裡插入圖片描述
    監控MR狀態和Resource Request 資源請求
    (4)資源的分配和排程

  2. NodeManager(NM)主要作用
    (1)管理單個節點上的資源
    (2)處理來自ResourceManager的命令
    (3)處理來自ApplicationMaster的命令

  3. ApplicationMaster(AM)作用
    (1)負責資料的劃分(切片)根據切片資訊,分配多少個MapTask
    (2)為應用程式申請資源並分配給內部任務
    (3)任務的監控與容錯

  4. Container容器
    Container是YARN中的資源抽象,封裝了某個節點上的多維度資源,如記憶體,CPU,磁碟,網路等