1)ResourceManager(RM)
管理整个系统的资源
2)NodeManager(NM)
管理单个节点的资源
3)Container
资源的抽象
Container的开启和关闭回收由RM负责
Container中运行什么由AppMaster负责
3)AppMaster
向RM申请资源
告知Container执行的任务
1)客户端向YARN提交job。
2)客户端向RM申请AppMaster,会放入调度队列。
3)如果轮到,RM会在NN中开辟Container执行AppMaster。(只开辟1个Container执行AppMaster)
4)AppMaster根据任务向RM申请Container。
5)RM在NN中开辟Container执行程序。(可以开辟多个Container并行执行)
6)执行完后,AppMaster注销。RM会自动回收Container。