YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件构成。
1)ResourceManager(RM)
(1)处理客户端请求
(2)监控NodeManager
(3)启动或监控ApplicatitionMaster
(4)资源的分配和调度
2)NodeManager (NM)
(1) 管理单节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster
3) ApplicationMaster (AM)
(1)为当前应用申请资源并分配给内部任务
(2)监控当前任务和容错
4) Container
是Yarn的资源抽象,它封装了当前任务运行的资源(如内存,CPU,磁盘,网络)