YARN主要由两个核心步骤构成,分别是ResourceManager和NodeManager;当用YARN进行大数据计算时,可以划分为五个阶段:
一:作业提交阶段:Client申请计算资源的应用并向整个集群提交job同时申请一个job-id,当ResourceManager收到Client的请求后,给Client返回一个资源提交路径和job-id,当Client收到ResourceManager的返回后,根据这些返回数据的值发送一个jar包,上传计算所需要的资源到指定的位置,之后向ResourceManager发送执行作业请求,ResourceManger接收到请求后创建了一个ApplicationManager;
二:作业初始化阶段:新创建的ApplicationManager会将job添加到ResourceScheduler中,当轮到job执行时,ResourceScheduler会通知ApplicationManager执行job,ApplicationManager调用分配给它的NodeManager并在其中开辟容器,启动ApplicationMaster,ApplicationMaster获取HDFS上的文件,生成Task.
三:任务分配阶段:ApplicationMaster向ResourceManager申请运行Task的任务资源,ResourceManager将需要运行的Task任务分配给空闲的NodeManager,NodeManager分别领取任务并创建用于执行Task的Container。
四:任务运行阶段:ApplicationMaster通知所有接收到Task计算任务的NodeManager启动计算,NodeManager启动计算,所有的Task执行完毕后,ApplicationMaster向ResourceManager申请注销。
五:作业完成阶段



