YARN 架构
?
1、ResourceManager(RM)
總的來說,RM有以下作用
-
處理客戶端請求
-
啟動或監控ApplicationMaster
-
監控NodeManager
-
資源的分配與調度
2、ApplicationMaster(AM)
ApplicationMaster 管理在YARN內運行的每個應用程序實例。ApplicationMaster 負責協調來自 ResourceManager 的資源,并通過 NodeManager 監視容器的執行和資源使用(CPU、內存等的資源分配)。
總的來說,AM有以下作用
-
負責數據的切分
-
為應用程序申請資源并分配給內部的任務
-
任務的監控與容錯
3、NodeManager(NM)
NodeManager管理YARN集群中的每個節點。NodeManager 提供針對集群中每個節點的服務,從監督對一個容器的終生管理到監視資源和跟蹤節點健康。
總的來說,NM有以下作用
-
管理單個節點上的資源
-
處理來自ResourceManager的命令
-
處理來自ApplicationMaster的命令
4、Container
Container 是 YARN 中的資源抽象,它封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等,當AM向RM申請資源時,RM為AM返回的資源便是用Container表示的。YARN會為每個任務分配一個Container,且該任務只能使用該Container中描述的資源。
總的來說,Container有以下作用
-
對任務運行環境進行抽象,封裝CPU、內存等多維度的資源以及環境變量、啟動命令等任務運行相關的信息。
轉載于:https://www.cnblogs.com/xiangyuguan/p/11020721.html
總結
- 上一篇: SpringMvc之参数绑定注解详解
- 下一篇: Elasticsearch数据备份与恢复