YARN

YARN是Hadoop的资源管理器

YARN中有四个基本组件:ResourceManager、NodeManager、ApplicationMaster、Container。ResourceManager每个集群仅有一个,负责集群资源的统一管理和调度,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注销并关闭自己。

原文链接:https://blog.csdn.net/zhouweiyu/article/details/79028532

posted @ 2020-03-01 20:02  ElvisHUSTer  阅读(174)  评论(0编辑  收藏  举报