YARN是一個分布式的資源管理系統。YARN是Hadoop系統的核心組件,主要功能包括負責在Hadoop叢集中的資源管理,負責對作業進行調度運行以及監控。
基本概念
名稱 | 描述 |
ResourceManager | 負責叢集的資源管理與調度,為運行在YARN上的各種類型作業分配資源。 非HA叢集部署在EMR的Master節點上,HA叢集部署在EMR的多個Master節點上,保證了高可用性。 |
NodeManager | 負責節點的資源管理、監控和作業運行。 部署在EMR的Core或Task節點上。 |
MRHistoryServer(MapReduce History Server) | 解析MapReduce作業的指標,並展示作業執行情況。 定期刪除到期的彙總日誌。 |
TimelineServer | 收集作業的指標,並展示作業執行情況。 說明 該組件僅用於監控單個作業的資源使用方式,不會導致資料作業的開發、運行和提交失敗。 |
WebAppProxyServer | 負責作業連結跳轉,降低基於Web的攻擊。 |
ApplicationMaster | 負責應用程式相關事務。 例如,ApplicationMaster負責協調來自ResourceManager的資源,並通過NodeManager進行監控和資源管理等。 |
優勢
EMR叢集中的YARN優勢如下:
高可用叢集可以自動開啟YARN HA部署。
便捷的營運。
例如,支援通過控制台的方式進行節點擴容,NodeManager下線和滾動重啟等操作。
支援監控警示。
可以對各項指標進行監控和智能警示。
Auto Scaling支援優雅下線功能。
可以在一段時間內等待使用者任務執行結束後再下線,而不是直接下線NodeManager導致大量任務重新計算。