Node節(jié)點(diǎn)下的Container管理
- 啟動(dòng)時(shí)向ResourceManager注冊(cè)并定時(shí)發(fā)&##x9001;心跳消息,等待ResourceManager的指令
- 監(jiān)控Container的運(yùn)行,維護(hù)Container的生命周期,監(jiān)控Container的資源使用情況
- 啟動(dòng)或停止Container,管理任務(wù)運(yùn)行時(shí)的依賴包(根據(jù)ApplicationMaster的需要,啟動(dòng)Container之前將需要的程序及其依賴包、配置文件等拷貝到本地)
內(nèi)部結(jié)構(gòu)
http://wiki.jikexueyuan.com/project/hadoop/images/yarn-node-manager.png" alt="" />
- NodeStatusUpdater: 啟動(dòng)向ResourceManager注冊(cè),報(bào)告該節(jié)點(diǎn)的可用資源情況,通信的端口和后續(xù)狀態(tài)的維護(hù)
-
ContainerManager: 接收RPC請(qǐng)求(啟動(dòng)、停止),資源本地化(下載應(yīng)用需要的資源到本地,根據(jù)需要共享這些資源)
PUBLIC: /filecache</local-dir>
PRIVATE: /usercache//filecache</local-dir>
APPLICATION: /usercache//appcache//(在程序完成后會(huì)被刪除)</app-id></local-dir>
-
ContainersLauncher: 加載或終止Container
- ContainerMonitor: 監(jiān)控Container的運(yùn)行和資源使用情況
- ContainerExecutor: 和底層操作系統(tǒng)交互,加載要運(yùn)行的程序