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