【Hadoop】YARN简介(YARN产生的技术需求/YARN的基本架构)

YARN产生的技术需求

YARN是Hadoop v2.0 引入的核心组件。YARN 从某种那个意义上来说应该算做是一个云操作系统,它负责集群的资源管理任务调度,在 YARN 之上可以开发各类的应用程序,例如批处理 MapReduce, 内存处理 Spark, 流式处理 Storm 等等。这些应用可以同时利用 Hadoop 集群的计算能力和丰富的数据存储模型,共享同一个 Hadoop 集群和驻留在集群上的数据。此外,这些新的框架还可以利用 YARN 的资源管理器,提供新的应用管理器实现。

  • 直接源于MapReduce v1.0在几个方面的缺陷:
    • 扩展性受限
    • 单点故障
    • 难以支持MR之外的计算框架
  • 多计算框架各自为战,数据共享困难,比如
    • MR:离线计算框架
    • Storm:实时计算框架
    • Spark:内存计算框架

YARN支持多种计算框架


YARN的基本架构

我们可以把 YARN 视为 Hadoop 生态系统的大脑或者说云操作系统。


ResourceManager

ResourceManager(RM)是一个全局的资源管理器 ,负责整个系统的资源管理和分配

  • 在接收到处理请求时,它相应地将部分请求传递 给相应的Node Manager节点管理器,在那里进行实际的处理。
  • RM优化集群利用率,例如根据容量保证、公平性和 SLA 等各种限制,始终保持所有资源处于使用状态

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

  • 调度器(Scheduler)

    • 调度器负责将资源分配 给各种正在运行的应用程序。而资源分配单位用一个抽象概念"资源容器 "(Resource Container, 简称 Container)来表示。container下面再具体介绍

    • 调度器是纯调度程序。意味着不会对应用程序执行任何状态监控。也不负责重新启动因执行失败或硬件故障导致的失败任务

    • 它有一个可插拔的策略插件,负责在各种应用之间划分集群资源。有两个这样的插件: Capacity Scheduler 和 Fair Scheduler

  • 应用程序管理器(Applications Manager)

    • 它负责管理整个系统中所有应用程序。包括括应用程序提交、与调度器协商资源以启动 Application Master、监控 Application Master 运行状态并在失败时重新启动它等

NodeManager

  • 它负责处理 Hadoop 集群中的各个节点,并 管理给定节点上的用户作业和工作流
  • 它向资源管理器注册并发送带有节点健康状态的心跳。
  • 它的主要目标是管理资源管理器分配给它的应用程序容器。
  • 它与资源管理器保持同步。
  • 应用程序主机通过向节点管理器发送容器启动上下文 (CLC) 来从节点管理器请求分配的容器,其中包含应用程序运行所需的一切。节点管理器创建请求的容器进程并启动它。
  • 监控单个容器的资源使用情况(内存、CPU)。
  • 执行日志管理。
  • 它还按照资源管理器的指示杀死容器。

ApplicationMaster

  • 每个应用有一个,负责应用程序的管理。它是一个特定于框架的实体
  • 它的任务是从资源管理器协商资源,并与节点管理器一起执行和监控组件任务。
  • 一旦启动,它会定期向资源管理器发送心跳以确认其健康状况并更新其资源需求记录。

Container

  • 它是单个节点上的物理资源的集合,例如 RAM、CPU 内核和磁盘。
  • 当 AM 向 RM 申请资源时,RM 为 AM 返回的资源便是用 Container 表示。YARN 会为每个任务分配一个 Container, 且该任务只能使用该 Container 中描述的资源。

HDFS与YARN

hdfs有自己的框架,yarn也有自己的框架,但这两个框架是紧密结合的,比如namenode上启动RM、DataNode上启动NM

相关推荐
倔强的石头1062 小时前
解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
人工智能·架构
B站计算机毕业设计超人2 小时前
计算机毕业设计hadoop+spark股票基金推荐系统 股票基金预测系统 股票基金可视化系统 股票基金数据分析 股票基金大数据 股票基金爬虫
大数据·hadoop·python·spark·课程设计·数据可视化·推荐算法
qzhqbb2 小时前
web服务器 网站部署的架构
服务器·前端·架构
Dusk_橙子3 小时前
在elasticsearch中,document数据的写入流程如何?
大数据·elasticsearch·搜索引擎
说私域3 小时前
社群裂变+2+1链动新纪元:S2B2C小程序如何重塑企业客户管理版图?
大数据·人工智能·小程序·开源
weixin_SAG3 小时前
第3天:阿里巴巴微服务解决方案概览
微服务·云原生·架构
喝醉酒的小白5 小时前
Elasticsearch 中,分片(Shards)数量上限?副本的数量?
大数据·elasticsearch·jenkins
helianying555 小时前
云原生架构下的AI智能编排:ScriptEcho赋能前端开发
前端·人工智能·云原生·架构
yuanbenshidiaos6 小时前
【大数据】机器学习----------计算机学习理论
大数据·学习·机器学习