【大数据】了解 YARN 架构的基础知识

这篇具有很好参考价值的文章主要介绍了【大数据】了解 YARN 架构的基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hadoop YARN(Yet Another Resource Negotiator)将 Hadoop 的存储单元即 HDFS(Hadoop 分布式文件系统)与各种处理工具编织在一起。

1.为什么是 YARN

在 Hadoop 1.0 版本,也称为 MRV1MapReduce Version 1),MapReduce 执行处理和资源管理功能。它由一个 作业跟踪器Job Tracker)组成,它是唯一的主机。作业跟踪器分配资源、执行调度并监控处理作业。它在许多称为 任务跟踪器Task Trackers)的从属进程上分配映射和归约任务。任务跟踪器定期向作业跟踪器报告其进度。

【大数据】了解 YARN 架构的基础知识,大数据,大数据,架构,yarn,资源管理,作业调度,hadoop,hdfs
由于单个作业跟踪器,这种设计导致了可扩展性瓶颈。 IBM 在其文章中提到,根据 Yahoo 的说法,当集群包含 5000 5000 5000 个节点和同时运行 40000 40000 40000 个任务时,这种设计就达到了实际极限。除了这一限制之外,MRV1 中计算资源的利用效率较低。此外,Hadoop 框架仅限于 MapReduce 处理范例。

为了克服所有这些问题,雅虎和 Hortonworks 于 2012 年在 Hadoop 2.0 版本中引入了 YARN。 YARN 背后的基本思想是通过 接管资源管理和作业调度 的职责来减轻 MapReduce 的负担。 YARN 开始赋予 Hadoop 在 Hadoop 框架内运行非 MapReduce 作业的能力

随着 YARN 的推出,Hadoop 生态系统发生了彻底的变革。它变得更加灵活、高效和可扩展。当雅虎在 2013 年第一季度启用 YARN 时,它帮助该公司将 Hadoop 集群的规模从 40000 40000 40000 个节点缩小到 32000 32000 32000 个节点。但就业岗位数量却翻了一番,达到每月 2600 万个。

2.YARN 简介

现在我已经让您了解了 YARN 的必要性,接下来让我向您介绍 Hadoop 2.0 的核心组件 YARN。 YARN 允许图形处理、交互式处理、流处理以及批处理等不同的数据处理方法来运行和处理存储在 HDFS 中的数据。因此,YARN 将 Hadoop 开放给 MapReduce 之外的其他类型的分布式应用程序

【大数据】了解 YARN 架构的基础知识,大数据,大数据,架构,yarn,资源管理,作业调度,hadoop,hdfs
YARN 使用户能够根据需要使用各种工具执行操作,例如用于实时处理的 Spark、用于 SQL 的 Hive、用于 NoSQL 的 HBase 等。

除了 资源管理 之外,YARN 还执行 作业调度。 YARN 通过分配资源和调度任务来执行所有处理活动。 Apache Hadoop YARN 架构由以下主要组件组成:

  • 资源管理器Resource Manager):在主守护进程上运行并管理集群中的资源分配。
  • 节点管理器Node Manager):它们在从属守护进程上运行,负责在每个数据节点上执行任务。
  • 应用程序主控Application Master):管理各个应用程序的用户作业生命周期和资源需求。它与节点管理器一起工作并监视任务的执行。
  • 容器Container):单个节点上的 RAM、CPU、网络、HDD 等资源的封装。

3.YARN 的组成部分

您可以将 YARN 视为 Hadoop 生态系统的大脑。下图代表了 YARN 架构。
【大数据】了解 YARN 架构的基础知识,大数据,大数据,架构,yarn,资源管理,作业调度,hadoop,hdfs

3.1 Resource Manager 资源管理器

  • 它是资源配置的最终权威。
  • 收到处理请求后,它将部分请求相应地传递给相应的节点管理器,在节点管理器中进行实际处理。
  • 它是集群资源的仲裁者,决定竞争应用程序的可用资源分配。
  • 优化集群利用率,例如根据容量保证、公平性和 SLA 等各种限制保持所有资源始终处于使用状态。

它有两个主要组件:

3.1.1 Scheduler 调度程序

  • 调度程序负责将资源分配给受容量、队列等约束的各种正在运行的应用程序。
  • 它在 ResourceManager 中被称为纯调度程序,这意味着它不会对应用程序的状态执行任何监视或跟踪。
  • 如果出现应用程序故障或硬件故障,调度程序不保证重新启动失败的任务。
  • 根据应用程序的资源需求进行调度。
  • 它有一个可插入的策略插件,负责在各个​​应用程序之间划分集群资源。有两个这样的插件:Capacity SchedulerFair Scheduler,目前在 ResourceManager 中用作调度程序。

3.1.2 Application Manager 应用程序管理器

  • 它负责接受作业提交。
  • 协商资源管理器中的第一个容器来执行应用程序特定的应用程序主程序。
  • 管理集群中运行的 Application Master,并提供在失败时重新启动 Application Master 容器的服务。

3.2 Node Manager 节点管理器

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

3.3 Application Master 应用程序主控

  • 应用程序是提交给框架的单个作业。每个应用程序都有一个与之关联的唯一应用程序主控器,它是框架的一个特定实体。
  • 它是协调集群中应用程序的执行并管理故障的进程。
  • 它的任务是从资源管理器协商资源并与节点管理器一起执行和监视组件任务。
  • 它负责与 ResourceManager 协商适当的资源容器,跟踪它们的状态并监控进度。
  • 一旦启动,它会定期向资源管理器发送心跳,以确认其运行状况并更新其资源需求的记录。

3.4 Container 容器

  • 它是单个节点上 RAM、CPU 内核和磁盘等物理资源的集合。
  • YARN 容器由容器启动上下文(即容器生命周期,CLC)管理。该记录包含环境变量的映射、存储在远程可访问存储中的依赖项、安全令牌、节点管理器服务的有效负载以及创建进程所需的命令。
  • 它授予应用程序在特定主机上使用特定数量的资源(内存、CPU 等)的权利。

4.在 YARN 中提交应用程序

【大数据】了解 YARN 架构的基础知识,大数据,大数据,架构,yarn,资源管理,作业调度,hadoop,hdfs

  • 1 提交作业
  • 2 获取应用程序 ID
  • 3 提交应用程序上下文
  • 4.a 启动容器
  • 4.b 启动应用程序主程序
  • 5 分配资源
  • 6.a 容器
  • 6.b 启动
  • 7 执行

5.Hadoop YARN 中的应用程序工作流程

  • 1.客户端(Client)提交申请
  • 2.资源管理器(Resource Manager)分配一个容器来启动应用程序管理器(Application Manager
  • 3.应用程序管理器(Application Manager)向资源管理器(Resource Manager)注册
  • 4.应用程序管理器(Application Manager)向资源管理器(Resource Manager)询问容器
  • 5.应用程序管理器(Application Manager)通知节点管理器(Node Manager)启动容器
  • 6.应用程序代码在容器中执行
  • 7.客户端联系资源管理器(Resource Manager)/ 应用程序管理器(Application Manager),以监控应用程序的状态
  • 8.应用程序管理器(Application Manager)向资源管理器(Resource Manager)取消注册

【大数据】了解 YARN 架构的基础知识,大数据,大数据,架构,yarn,资源管理,作业调度,hadoop,hdfs文章来源地址https://www.toymoban.com/news/detail-811149.html

到了这里,关于【大数据】了解 YARN 架构的基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解 Hadoop (七)YARN资源管理和调度详解

    深入理解 Hadoop 系列文章已完结,总共七篇文章,直达链接: 深入理解 Hadoop (一)网络通信架构与源码浅析 深入理解 Hadoop (二)HDFS架构演进 深入理解 Hadoop (三)HDFS文件系统设计实现 深入理解 Hadoop (四)HDFS源码剖析 深入理解 Hadoop (五)YARN核心工作机制浅析 深入理解

    2024年01月22日
    浏览(37)
  • 从零开始了解大数据(五):YARN篇

    目录 前言 一、Hadoop YARN介绍 二、Hadoop YARN架构与组件 1.ResourceManager(RM) 2.NodeManager(NM) 3.ApplicationMaster 三、程序提交YARN交互流程 1.客户端阶段 2.ApplicationMaster阶段 四、YARN资源调度器Scheduler 1.FIFO Scheduler 2.Capacity Scheduler 3.Fair Scheduler 总结 YARN是一个资源调度平台,负责为运算

    2024年02月01日
    浏览(33)
  • 全面了解Java连接MySQL的基础知识,快速实现数据交互

    当今互联网时代,大量的应用程序都需要使用MySQL数据库来存储和处理数据。Java作为一种广泛使用的编程语言之一,在开发Web应用程序时经常需要连接MySQL数据库进行数据操作。 因此,了解如何使用Java连接MySQL数据库是非常重要的。在本文中,我们将介绍Java JDBC API以及如何使

    2024年02月06日
    浏览(31)
  • 【系统架构】第六章-数据库设计基础知识(数据库设计)

    软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论 第二章-计算机系统基础知识(一) 第二章-计算机系统基础知识(二) 第三章-信息系统基础知识 第四章-信息安全技术基础知识 第五章-软件工程基础知识(一) 第五章-软件工程基础知识(需求工

    2024年02月11日
    浏览(38)
  • HBase基础知识(一):HBase简介、HBase数据模型与基本架构

    HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个 multi-dimensionalmap 。 1.2.1HBase逻辑结构 字典序:按位比较。 下图是一张表

    2024年02月03日
    浏览(29)
  • 大数据集群基础之Yarn的运维

    在Apache Spark中,YARN(Yet Another Resource Negotiator)是一种用于集群资源管理的开源框架。YARN最初是Hadoop项目的一部分,但后来成为了独立的顶级Apache项目,广泛应用于Hadoop生态系统以及其他大数据处理框架,包括Apache Spark。 在Spark中,YARN的主要作用是协调和管理集群上的资源,

    2024年02月19日
    浏览(32)
  • 系统架构设计师---计算机基础知识之数据库系统结构与规范化

    目录 一、基本概念  二、 数据库的结构  三、常用的数据模型         概念数据模型        基本数据模型        面向对象模型 四、数据的规范化      函数依赖       范式   1. 数据库 (DataBase, DB) : 是指长期储存在计算机内的、有组织的、可共享的数据集合。   

    2024年02月12日
    浏览(40)
  • 简单了解 HTTP 基础知识

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是用于在网络上传输数据的一种协议,对于网络开发人员来说,理解这一协议是至关重要的。由于其广泛的应用,除了在网页应用传输数据之外,它还被应用于物联网(IoT)中的数据和命令传输。 HTTP 协议的第一个版本只有一个方

    2024年04月17日
    浏览(40)
  • 快速了解机器视觉(CV)基础知识

    最近再查一些基础知识的时候看见了几篇文章写得很棒(在这篇文章的结束我会给出参考链接),然后我把他们整合了一下,跟大家分享,希望能有帮助: a.图片分类 b.目标定位 c.语义分割 d.实例分割 ①语义鸿沟(semantic gap) 人类可以轻松地从图像中识别出目标,而计算机看到

    2024年02月09日
    浏览(71)
  • Flink、Yarn架构,以Flink on Yarn部署原理详解

    Apache Flink是一个开源的分布式流处理框架,它可以处理实时数据流和批处理数据。Flink的架构原理是其实现的基础,架构原理可以分为以下四个部分:JobManager、TaskManager、JobGraph、Checkpoint。 JobManager JobManager是Flink集群的控制节点,负责接收用户提交的任务,将任务分配给Task

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包