網絡
總的來講,RM有如下做用spa
處理客戶端請求代理
啓動或監控ApplicationMasterblog
監控NodeManager內存
資源的分配與調度資源
ApplicationMaster 管理在YARN內運行的每一個應用程序實例。ApplicationMaster 負責協調來自 ResourceManager 的資源,並經過 NodeManager 監視容器的執行和資源使用(CPU、內存等的資源分配)。it
總的來講,AM有如下做用io
負責數據的切分ast
爲應用程序申請資源並分配給內部的任務class
任務的監控與容錯
NodeManager管理YARN集羣中的每一個節點。NodeManager 提供針對集羣中每一個節點的服務,從監督對一個容器的終生管理到監視資源和跟蹤節點健康。
總的來講,NM有如下做用
管理單個節點上的資源
處理來自ResourceManager的命令
處理來自ApplicationMaster的命令
Container 是 YARN 中的資源抽象,它封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等,當AM向RM申請資源時,RM爲AM返回的資源即是用Container表示的。YARN會爲每一個任務分配一個Container,且該任務只能使用該Container中描述的資源。
總的來講,Container有如下做用
對任務運行環境進行抽象,封裝CPU、內存等多維度的資源以及環境變量、啓動命令等任務運行相關的信息。