ContainerManager詳解
簡(jiǎn)介 ContainerManager主要負責NM中管理所有Container生命周期,其主要包含啟動(dòng)Container、恢復Container、停止Container等功能。 主要功能由ContainerManagerImpl類(lèi)實(shí)現,具體代碼可以參考當前類(lèi)。 初始化 初始化主要分為兩部分: ContainerManagerImpl實(shí)例的構造函數和serviceInit函數。 構造函數 當前函數為構造函數,主要初始化必須要的一些變量等。 dispatcher : 事件的中央調度器,主要用于管理單個(gè)Container的生命周期。在當前函數里面會(huì )通過(guò)dispatcher.register()注冊支持的事件。 containersLauncher: 主要用于啟動(dòng)Container,可以通過(guò)配置項yarn.nodemanager.containers-launcher.class指定。默認為containersLauncher.class serviceInit函數 主要是服務(wù)啟動(dòng)時(shí)的初始化函數,ContainerManager在NodeManager內部屬于一個(gè)服務(wù)。所以初始化的時(shí)候會(huì )調....