Node 節點下的Container 管理
1)啟動時向ResourceManager 注冊并定時發送心跳消息,等待ResourceManager 的指令
2)監控Container 的運作,維護Container 的生命周期,監控Container 的資源使用情況
3) 啟動或停止Container,管理任務運作時的依賴包(根據ApplicationMaster 的需要,啟動Container 之前将需要的程式及其依賴包,配置檔案等到本地)
内部結構
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxMGRPJTTq1kMFpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwADN4QTMxgTMwITNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
NodeStatusUpdater:啟動向ResourceManager 注冊,報告該節點的可用資源情況通信的端口和後續狀态的維護。
ContainerManager: 接收RPC請求(啟動,停止),資源本地化(下載下傳應用需要的資源到本地,根據需要共享這些資源)
ContainersLauncher: 加載或終止COntainer
ContainerMonitor:監控COntainer的運作和資源使用情況
ContainerExecutor: 和底層作業系統互動,加載要運作的程式。