028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

【深入浅出 Yarn 架构与实现】1-1 设计理念与基本架构

一、Yarn 产生的背景

Hadoop2 之前是由 HDFS 和 MR 组成的,HDFS 负责存储,MR 负责计算。

梨林网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

一)MRv1 的问题

二)Yarn 的诞生

由于之前 Hadoop 资源调度的种种问题,新的资源调度框架产生了 —— YARN(Yet Another Resource Negotiator)。

它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

二、Yarn 的基本架构

一)Yarn 三大组件

Yarn依然是Master/Slave的结构:

1、ResourceManager

ResourceManager 主要由两个组件构成:
调度器( Scheduler)和应用程序管理器(Applications Manager,ASM)。

2、NodeManager

NodeManager 是每个节点上的资源和任务管理器。

3、ApplicationMaster

ApplicationMaster 是一个任务最先启动的容器,用于管理当前任务的调度。

4、Container

不属于 Yarn 三大组件,但是 yarn 中资源的抽象。

二)Yarn 通信协议

通信协议共有 5 种如下图所示:

三、Yarn 工作流程

  1. client 向 YARN 中提交应用程序,其中包括 AM 程序、启动 AM 的命令、用户程序等。
  2. RM 为该应用程序分配第一个 Container,并与对应的 NM 通信,要求它在这个 Container中启动应用程序的 AM。
  3. AM 首先向 RM 注册,这样用户可以直接通过 RM 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
  4. AM 通过 RPC 协议向 RM 申请和领取资源。
  5. —旦 AM 申请到资源后,便与对应的 NM 通信,要求它启动任务。
  6. NM 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将任务启动命令写到 一个脚本中,并通过运行该脚本启动任务。
  7. 各个任务通过 RPC 协议向 AM 汇报自己的状态和进度,以让 AM 随时掌握各个任务的运行状态,从而可以在任务失政时重新启动任务。在应用程序运行过程中,用户可随时通过 RPC 向 AM 查询应用程序的当前运行状态。
  8. 应用程序运行完成后,AM 向 RM 注销并关闭自己。

名称栏目:【深入浅出 Yarn 架构与实现】1-1 设计理念与基本架构
分享地址:http://www.tsicrk.com/article/dscgech.html

其他资讯

让你的专属顾问为你服务

7.2216s