YARN基本架構
阿新 • • 發佈:2018-11-10
1.x版本和2.x架構區別
1.x版本時代:Hadoop中的MapReduce同時處理業務邏輯運算和資源的排程,耦合性較大
2.x版本 增加了Yarn Yarn只負責資源的排程,MapReduce只負責運算
Yarn概述
Yarn是一個資源排程平臺,負責運算程式提供伺服器運算資源,相當於一個分散式的作業系統平臺,而MapReduce等運算程式相當於執行作業系統上的應用程式
Yarn 基本架構
yarn主要是由ResourceManager 總的資源排程
NodeManager 節點的資源排程
,ApplicationMaster 任務的資源排程
Container 容器,分配CPU,記憶體,IO等
-
ResourceManager作用:
(1)處理客戶端請求 比如客戶端JobSubmission作業提交
(2)監控NodeManager
節點狀態
(3)啟動或監控ApplicationMaster
監控MR狀態和Resource Request 資源請求
(4)資源的分配和排程 -
NodeManager(NM)主要作用
(1)管理單個節點上的資源
(2)處理來自ResourceManager的命令
(3)處理來自ApplicationMaster的命令 -
ApplicationMaster(AM)作用
(1)負責資料的劃分(切片)根據切片資訊,分配多少個MapTask
(2)為應用程式申請資源並分配給內部任務
(3)任務的監控與容錯 -
Container容器
Container是YARN中的資源抽象,封裝了某個節點上的多維度資源,如記憶體,CPU,磁碟,網路等