NodeManager(簡稱NM)是Hadoop YARN中非常重要的組件,它在每個計算節點上作為代理運行,負責管理該節點的資源和使用情況。NodeManager的主要職責包括:
與ResourceManager(RM)保持通信。NodeManager會向RM註冊,並定期通過心跳信息匯報節點的狀態,同時接收RM的指令。
監督容器的生命周期。NodeManager負責管理在節點上運行的容器(Containers),包括容器的啟動、監控、資源分配和關閉。
監控資源的使用情況。NodeManager能夠監控每個容器的資源使用情況,如記憶體、CPU等,並管理節點的健康狀況。
管理日誌和附屬服務。NodeManager還負責管理應用程式相關的日誌和輔助服務。
管理分散式快取。NodeManager還負責管理分散式快取,例如對容器運行所需的依賴庫(如jar檔案、配置檔案)進行本地快取。
NodeManager通過ResourceTrackerProtocol和ContainerManagementProtocol協定與ResourceManager和ApplicationMaster(AM)進行通信,從而執行上述任務。