上一篇文章介绍了 HDFS 和 MapReduce 的体系结构。这篇文章介绍 YARN 的体系结构。

YARN 式分布式操作系统,其基本功能就是管理整个集群的计算资源,提供用户程序访问系统资源的 API。MapReduce 是 YARN 里的一种编程方式。

体系架构

MapReduce v1 中的 JobTracker 两大功能——资源管理和任务调度,拆分为 ResourceManager 和 ApplicationMaster。前者负责资源管理,后者负责任务管理。而 TaskTracker 发展为 NodeManager,用来管理本机资源。ResourceManager 和从属节点的进程 NodeManager 组成了 Hadoop 2.x 的分布式数据计算框架。

在这里插入图片描述
YARN 依旧是 master/slave 架构,它有以下几个部分:

  • client:客户端,负责向集群提交作业;
  • ResourceManager:集群主进程,仲裁中心,负责集群资源管理和任务任务调度;
  • Scheduler:资源仲裁模块;
  • ApplicationManager:选定,启动和监管 ApplicationMaster;
  • NodeManager:集群从进程,管理监视 Containers,执行具体任务;
  • ApplicationMaster:任务执行和监管中心。
  1. 作业提交

Client 向主进程 ResourceManager 的 ApplicationManeger 模块提交任务,ApplicationManager 选中某 NodeManager 的某 Container 来执行程序中的 ApplicationMaster。

  1. 任务分配

ApplicationMaster 向 Scheduler 申请资源,Scheduler 根据 NodeManager 发送过来的资源信息和集群指定的调度策略以 Container 为单位给 ApplicationMaster 分配计算资源。

  1. 任务执行

ApplicationMaster 向选定的 NodeManager 发送任务信息,让其启动 NodeManager 管理的 Container 计算任务。

  1. 进度和状态更新

处于计算状态的 Container 向其所在 的NodeManager 汇报计算进度,NodeManager 通过心跳包,将这些信息汇报给 ApplicationMaster,ApplicationMaster 汇总信息,给出任务进度。

  1. 任务完成

信息上报到 ApplicationMaster,ApplicationMaster 再将借宿信息汇报给 ApplicationManager,ApplicationManager 通知客户端结束任务。

安装与配置 YARN

安装 YARN 实际上就是安装 Hadoop 2.x,首先要下载 Hadoop 并设置环境变量,下载之后进行配置

参考资料:
【1】https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/YARN.html;
【2】《云计算》,刘鹏。


版权声明:本文为Yu_L2原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Yu_L2/article/details/123972820