包括三个部分:
1、ResourceManager:负责全局的资源管理与任务调度。
2、NodeManager:负责向ResourceManager汇报当前Node的状态。
3、ApplicationMaster:负责申请任务所需要的资源,监控单个任务的运行状态,并且任务失败时重新申请资源
过程:
1、用户提交job到yarn,其中包括ApplicationMaster;
2、ApplicationMaster向ResourceManager进行注册;
3、ApplicationMaster注册成功后会一轮训的方式向ResourceManager申请所需要的资源;
4、当ApplicationMaster申请到资源时,会与NodeManager进行通信,要求启动任务;
5、NodeManager会分配好任务所需要的资源,并且启动任务;
6、任务运行过程中会以RPC的方式向ApplicationMaster汇报自己的状态;
7、任务执行完成后ApplicationMaster会向ResourceManager注销自己并释放资源。