yarn的工作机制

yarn是hadoop的资源管理器

yarn一共有四个组件  ResourceManager  每个集群只有一个,可以通过jps命令查看到 ,负责集群资源的整体管理与调度 ,

NodeManager   每个节点只有一个,负责单节点资源的管理与调度

ApplicationMaster   指提交的应用程序

Container  容器,对任务运行资源的抽象,可以理解为一台计算机。 

 

yarn的工作机制

 

 

YARN的工作流程大致如下: 
步骤1 client程序向YARN中提交应用程序,ResourceManager为该应用程序分配第一个Container,并与相应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。 
步骤2 ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后ApplicationMaster将为各个任务申请资源,并监控任务的运行状态,直到运行结束。 
步骤3 ApplicationMaster向ResourceManager申请和获取资源,一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。 
步骤4 NodeManager启动任务。 
步骤5 各个任务向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。 
步骤6 应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。