hadoop YARN详解

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

YARN

概念

YARN 是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)。其中,ResourceManager 负责所有资源的监控、分配和管理; ApplicationMaster 负责每一个具体应用程序的调度和协调;

NodeManager 负责每一个节点的维护。对于所有的 applications,RM 拥有绝对的控制权和对资源的分配权。而每个 AM 则会和 RM 协商资源,同时和 NodeManager 通信来执行和监控 task。几个模块之间的关系如图所示。

hadoop YARN详解,高手面试,hadoop,大数据,linux

ResourceManager
  1. ResourceManager 负责整个集群的资源管理和分配,是一个全局的资源管理系统。

  2. NodeManager 以心跳的方式向 ResourceManager 汇报资源使用情况(目前主要是 CPU 和内存的使用情况)。RM 只接受 NM 的资源回报信息,对于具体的资源处理则交给 NM 自己处理。

  3. YARN Scheduler 根据 application 的请求为其分配资源,不负责 application job 的监控、追踪、运行状态反馈、启动等工作。

NodeManager
  1. NodeManager 是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控。YARN集群每个节点都运行一个NodeManager。

  2. NodeManager 定时向 ResourceManager 汇报本节点资源(CPU、内存)的使用情况和Container 的运行状态。当 ResourceManager 宕机时 NodeManager 自动连接 RM 备用节点。

  3. NodeManager 接收并处理来自 ApplicationMaster 的 Container 启动、停止等各种请求。

ApplicationMaster

用户提交的每个应用程序均包含一个 ApplicationMaster,它可以运行在 ResourceManager 以外的机器上。

  1. 负责与 RM 调度器协商以获取资源(用 Container 表示)。
  2. 将得到的任务进一步分配给内部的任务(资源的二次分配)。
  3. 与 NM 通信以启动/停止任务。
  4. 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
  5. 当前 YARN 自带了两个 ApplicationMaster 实现,一个是用于演示 AM 编写方法的实例程序DistributedShell,它可以申请一定数目的 Container 以并行运行一个 Shell 命令或者 Shell脚本;另一个是运行 MapReduce 应用程序的 AM—MRAppMaster。

注:RM 只负责监控 AM,并在 AM 运行失败时候启动它。RM 不负责 AM 内部任务的容错,任务的容错由 AM 完成。

YARN 运行流程

hadoop YARN详解,高手面试,hadoop,大数据,linux

  1. client 向 RM 提交应用程序,其中包括启动该应用的 ApplicationMaster 的必须信息,例如ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。

  2. ResourceManager 启动一个 container 用于运行 ApplicationMaster。

  3. 启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。

  4. ApplicationMaster 向 ResourceManager 发送请求,申请相应数目的 container。

  5. ResourceManager 返回 ApplicationMaster 的申请的 containers 信息。申请成功的container,由 ApplicationMaster 进行初始化。container 的启动信息初始化后,AM 与对应的 NodeManager 通信,要求 NM 启动 container。AM 与 NM 保持心跳,从而对 NM 上运行的任务进行监控和管理。

  6. container 运行期间,ApplicationMaster 对 container 进行监控。container 通过 RPC 协议向对应的 AM 汇报自己的进度和状态等信息。

  7. 应用运行期间,client 直接与 AM 通信获取应用的状态、进度更新等信息。

  8. 应用运行结束后,ApplicationMaster 向 ResourceManager 注销自己,并允许属于它的container 被收回。文章来源地址https://www.toymoban.com/news/detail-812179.html

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

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

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

相关文章

  • Middleware ❀ Hadoop功能与使用详解(HDFS+YARN)

    Hadoop是一个开源的分布式计算和存储框架,由Apache基金会开发和维护。Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。 Hadoop使用

    2024年02月07日
    浏览(42)
  • 深入理解 Hadoop (七)YARN资源管理和调度详解

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

    2024年01月22日
    浏览(44)
  • 大数据开发之Hadoop(Yarn)

    思考: 1、如何管理集群资源? 2、如何给任务合理分配资源? Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 YARN主要由ResourceManager、NodeManager、ApplicationMas

    2024年01月19日
    浏览(45)
  • 大数据课程D4——hadoop的YARN

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 了解YARN的概念和结构; ⚪ 掌握YARN的资源调度流程; ⚪ 了解Hadoop支持的资源调度器:FIFO、Capacity、Fair; ⚪ 掌握YARN的完全分布式结构和常见问题; ⚪ 掌握YARN的服役新节点操作; 1. Another Resource Negotiator

    2024年02月14日
    浏览(33)
  • Hadoop-Yarn-NodeManager如何计算Linux系统上的资源信息

    Hadoop-Yarn-NodeManager都做了什么中讲节点资源监控服务(NodeResourceMonitorImpl)时只是提了下SysInfoLinux,下面我们展开讲下 SysInfoLinux是用于计算Linux系统上的资源信息的插件 从源码中可以看到,linux上的资源信息是从各个文件中获取的: /proc/meminfo    解析和计算内存信息 /proc/c

    2024年02月19日
    浏览(34)
  • 大数据技术之Hadoop:Yarn集群部署(七)

    目录 一、部署说明 二、集群规划 三、开始配置 3.1 MapReduce配置文件 3.2 YARN配置文件 3.3 分发配置文件 四、集群启停 4.1 命令介绍  4.2 演示 4.3 查看YARN的WEB UI页面 Hadoop HDFS分布式文件系统,我们会启动: NameNode进程作为管理节点 DataNode进程作为工作节点 SecondaryNamenode作为辅

    2024年02月09日
    浏览(56)
  • 大数据技术之Hadoop:MapReduce与Yarn概述(六)

    目录 一、分布式计算 二、分布式资源调度 2.1 什么是分布式资源调度 2.2 yarn的架构 2.2.1 核心架构 2.2.2 辅助架构 前面我们提到了Hadoop的三大核心功能:分布式存储、分布式计算和资源调度,分别由Hadoop的三大核心组件可以担任。 即HDFS是分布式存储组件,MapReduce是分布式计算

    2024年02月09日
    浏览(39)
  • 大数据技术之Hadoop:提交MapReduce任务到YARN执行(八)

    目录 一、前言 二、示例程序 2.1 提交wordcount示例程序 2.2 提交求圆周率示例程序 三、写在最后 我们前面提到了MapReduce,也说了现在几乎没有人再写MapReduce代码了,因为它已经过时了。然而不写代码不意味着它没用,当下很火的HIve技术就到了MapReduce,所以MapReduce还是相当重要

    2024年02月08日
    浏览(43)
  • 【大数据之Hadoop】二十三、Yarn命令行操作及生产环境下的配置

    Yarn状态查询可以在hadoop103:8088页面查看,也可以通过命令查看。 先运行案例再查看运行情况。 (1)yarn application 查看任务 (2)yarn logs 查看日志 (3) yarn application attempt 查看尝试运行的任务(即正在运行的任务状态) (4) yarn container查看容器 只有任务在执行过程中才能看

    2024年02月16日
    浏览(44)
  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(100)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包