【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

相关推荐
TTBIGDATA20 小时前
【Ambari Plus】14.Hue 安装
大数据·hadoop·ambari·hdp·hue·cdh·bigtop
AI创界者20 小时前
零基础上手!ComfyUI + LTX-2.3 图生视频完整工作流搭建与调优指南(附避坑细节)
大数据·人工智能
mCell20 小时前
你以为短链接只是 Hash + 301/302?
后端·算法·架构
有Li21 小时前
基于扩散模型的超声计算机断层成像实现肌肉骨骼组织高保真三维重建文献速递/基于多模态的医学影像分割与理解
大数据·深度学习·文献·医学生
weishuangyun12321 小时前
2026小程序开发全流程:从平台选择到功能定制的完整白皮书
大数据
记忆停留w21 小时前
从单体到微服务:Redis 协同 MySQL、Milvus、MinIO 搭建企业级RAG/AI Agent脚手架架构
大数据·人工智能·redis·微服务·ai·架构·milvus
财财源源21 小时前
.NET 程序保护实战系列01-流水线架构与保护引擎总览
架构·.net
KaMeidebaby1 天前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
深圳恒讯1 天前
菲律宾云服务器与传统VPS的架构差异
运维·服务器·架构
亿信华辰软件1 天前
数据资产入表,数据治理厂商能做什么
大数据·数据资产·数据资产入表