Yarn工作机制
Yarn是资源管理系统,是典型的 Master-Slave 架构
ResourceManager(Master)控制整个集群并管理应用程序向基础计算资源的分配
(1)处理客户端请求
(2)启动或监控ApplicationMaster
(3)监控NodeManager
(4)资源的分配与调度
NodeManager(Slave)管理一个YARN集群中的每个节点
(1)单个节点上的资源管理
(2)处理来自ResourceManager上的命令
(3)处理来自ApplicationMaster上的命令
(1)客户端向ResourceManager提交任务,提交到指定的队列和所需要的资源
(2)ResourceManager收到任务提交的请求
(3)ResourceManager根据队列和资源判断NodeManager是否满足要求,启动Container(ApplicationMaster)
(4)ApplicationMaster向ResourceManager注册和申请Container
(5)队列有足够的资源,ResourceManager会根据任务将Container分配给NodeManager
(6)ApplicationMaster通知NodeManager启动Container
(7)NodeManager监控Container的资源使用状况以及是否失败退出等工作
(8)Container向ApplicationMaster汇报进度
(9)ApplicationMaster向ResourceManager注销任务并退出
(10)ResourceManager通知NodeManager杀死对应的Container,任务结束