Overview
Container 是Hadoop中运行任务的地方,当Resourcemanager收到一任务请求后,会向nodemanager 请求一个Container 来运行ApplicationMaster, ApplicationMaster运行起来之后,会继续向Resourcemanager请求新的container来运行任务, 当container 完成任务之后,ApplicationMaster会释放相应的container, 当任务完成之后,ApplicationMaster会释放自己 运行的Container;
StartContainerRequest handle
图 2-1
图 2-2
ContainerManager 收到StartContainer Request 之后 ,先进行运行时环境检查,如果一切都没有问题,则会在本建立一个container 和 一个Application FSM, 并启动Applicateion FSM,
Start Applicationdispatcher.getEventHandler().handle(new ApplicationInitEvent(applicationID, container.getLaunchContext().getApplicationACLs()));
StopContainerRequest Handle
该 request的处理过程与Start类似,仅向container发送killevent, 后续处理由containerFSM 完成,container 成功停止之后,会重新更新当前node的状态 信息:nodeStatusUPdater.sendOutOfBandHeartBeat();