Yarn运行原理

YARN基本架构原理详解 目录一、概念理解二、YARN的架构(1)ResourceManager(2)ApplicationMaster(3)NodeManager三、Yarn基本流程四、一个job运行处理的整体流程五、Yarn调度器Scheduler六、YARN的HA架构 一、概念理解 Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统 阅读详情
  1. yarn的介绍

    yarn是hadoop集群当中的资源管理系统模块,从hadoop2.0开始引入yarn模块,yarn可为各类计算框架提供资源的管理和调度,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU,内存,磁盘,网络IO等)以及调度运行在yarn上面的各种任务。

    yarn核心出发点是为了分离资源管理与作业监控,实现分离的做法是拥有一个全局的资源管理(ResourceManager,RM),以及每个应用程序对应一个的应用管理器(ApplicationMaster,AM)

    总结一句话就是说:yarn主要就是为了调度资源,管理任务等。

    其调度分为两个层级来说:

    • 一级调度管理:

      计算资源管理(CPU,内存,网络IO,磁盘)

    • 二级调度管理:

      任务内部的计算模型管理(AppMaster的任务精细化管理)

  2. yarn的主要组件介绍与作用

    Yarn总体上是Master/Slave结构,主要由ResourceManager、NodeManager、ApplicationMaster和Container等几个组件构成。

    • ResourceManager(RM)负责处理客户端请求,对各NM上的资源进行统一管理和调度。给ApplicationMaster分配空闲的Container运行并监控其运行状态。主要由两个组件构成:调度器和应用程序管理器:
      • 调度器(Scheduler):调度器根据容量、队列等限制条件,将系统中的资源分配给各个正在运行的应用程序。调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位是Container。Scheduler不负责监控或者跟踪应用程序的状态。总之,调度器根据应用程序的资源要求,以及集群机器的资源情况,为应用程序分配封装在Container中的资源。
      • 应用程序管理器(Applicatios Manager):应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动等,跟踪分给的Container的进度、状态也是其职责。
    • NodeManager(NM):NodeManager是每个节点上的资源和任务管理器。它会定时地向ResourceManager汇报本节点上的资源使用情况和各个Container的运行状态;同时会接受并处理来自ApplicationMaster的Container启动/停止等请求。
    • ApplicationMaster(AM):用户提交的应用程序均包含一个ApplicationMaster,负责应用的监控,跟踪应用执行状态,重启失败任务等。ApplicationMaster是应用框架,它负责向ResourceManager协调资源,并且与NodeManager协同工作完成Task的执行和监控。
    • Container:Container是Yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当ApplicationMaster向ResourceManager申请资源时,ResourceManager为ApplicationMaster返回资源便是用Container表示的。
  3. yarn的结构和工作流程

在这里插入图片描述

  1. yarn的调度器

    yarn我们都知道主要是用于做资源调度,任务分配等功能的,那么在hadoop当中,究竟使用什么算法来进行任务调度就需要我们关注了,hadoop支持好几种任务的调度方式,不同的场景需要使用不同的任务调度器。

    第一种调度器:FIFO Scheduler(队列调度)

    把任务按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的任务进行分配资源,待最头上任务需求满足后再给下一个分配,以此类推。

    FIFO Scheduler是最简单也是最容易理解的调度器,也不需要任何配置,但它并不适用于共享集群。大的任务可能会占用所有集群资源,这就导致其它任务被阻塞。

    第二种调度器:Capacity Scheduler(容量调度器,apache版本默认使用的调度器)

    Capacity调度器允许多个组织共享整个集群,每个组织可以获得集群的一部分计算能力。通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源,这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。除此之外,队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。

    20201220141536632.png
    第三种调度器:Fair Scheduler(公平调度器,CDH版本的Hadoop默认使用的调度器)

    Fair调度器的设计目标是为了所有的应用分配公平的资源(对公平的定义可以通过参数来设置)。公平调度也可以在多个队列间工作。举个例子,假设有两个用户A和B,他们分别拥有一个队列。当A启动一个Job而B没有任务时,A会获得全部集群资源;当B启动一个Job后,A的Job会继续运行,不过一会儿之后两个任务各自获得一半的集群资源。如果此时B再启动第二个Job并且其它Job还在运行,则它将会和B的第一个Job共享B这个队列的资源,也就是B的两个Job会用于四分之一的集群资源,而A的Job仍然用于集群一半的资源,结果就是资源最终再两个用户之间平等的共享。

hadoop权威指南(第四章)--yarn运行机制及调度过程知识 1.yarn运行机制? 下面对上面出现的一些名词进行介绍: ResourceManager:是YARN资源控制框架的中心模块,负责集群中所有的资源的统一管理和分配。它接收来自NM(NodeManager)的汇报, 建立AM,并将资源派送给AM(ApplicationMaster)。 NodeManager:简称NM,NodeManager是ResourceManager在每台机器的上代理,负责容... 阅读详情

相关推荐

YARN环境搭建以及实例提交运行(详细!适合小白!)

第四步,根据提示选择运行实例参数wordcount。第一步、配置mapred-site.xml文件。第二步,配置yarn-site.xml文件。第三步,启动YARN(运行以下命令)第三步,根据提示选择运行实例参数pi。1.2 提交实例到YARN上运行。第二步、运行实例查看提示;第一步,在服务端找到实例。1.1YARN环境部署。

2301_76804451的博客 1116

hadoop-yarn资源调度

1.yarn的介绍: ​ yarn是hadoop集群当中的资源管理系统模块,从hadoop2.0开始引入yarn模块,yarn可为各类计算框架提供资源的管理和调度,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU,内存,磁盘,网络IO等)以及调度运行在yarn上面的各种任务。 yarn核心出发点是为了分离资源管理与作业监控,实现分离的做法是拥有一个全局的资源管理(ResourceManager,RM),以及每个应用程序对应一个的应用管理器(ApplicationMaster,AM) ​ 总

Xiaoweidumpb 1060

Apache Flink连载(十八):Flink On Yarn运行原理及环境准备

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。

qq_32020645的博客 1903

大数据_YARN的工作原理

2、向后兼容问题: 采用MRv1的旧API写的APP, 可以直接使用之前的 Jar包运行于MRv2上, 但采用MRv1;但采用MRv1的新API写的APP, 不可以如此, 需要使用MRv2编程库重新编译并修改不兼容的参数和 返回值。下面是MRv1和MRv2的介绍。下图的数字表示了YARN的从client提交任务,到申请资源,到创建task,以及task完成后返回结果RM的处理流程。1、Client与RM通信的协议,ApplicationClientProtocol,作业的提交,应用程序的状态等。

日积月累,水滴石穿 2058

详解MapReduce的运行原理以及如何运行在yarn上

1.MapReduce运行Yarn上详解 (1)Client向Yarn主节点RM提交应用 bin/yarn jar MainClass args (2)RM在某个NM节点上启动一个Container运行AppMaster,运行应用的管理者 (3)AppMaster向RM请求资源,为了运行MapReduce中所有的Task,RM将分配NM是哪个资源,并且告知AppMaster (4)AppMa...

weixin_43740680的博客 903

React 源码解析 | Reconcile协调过程

上篇讲了React的工作流程,这篇详细的讲一下render过程中的beginWork函数,也就是深度优先创建Fiber树中"递"的过程。beginWork函数传入当前已经创建好的Fiber节点,返回创建/复用的第一个子FIber节点,也就是wip.child在renderRoot中,在开始创建整棵FIber树之前,会先调用prepareRefreshStack创建/复用一个新的HostRootFiber。

weixin_40710412的博客 1220

yarn组成和运行原理

 下图主要是说明yarn的组成和各部件的作用,以及yarn的运行原理

ll0607的博客 449

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

java spark 运行原理_Spark 运行在Yarn上的原理

前言为了更好的管理集群资源,一般都会有资源管理调度器,所有的服务都需要服从调度器的安排才能运行。Hadoop 集群内置了 Yarn 资源管理器,而 Spark 处理的数据一般存储在 Hadoop 里,所以 Spark 也支持运行在 Yarn 上面。本篇会介绍 Spark 是如何运行在 Yarn 上的。Yarn 运行程序Yarn 作为一个框架,包含了多个组件。如果想在 Yarn 上运行程序,需要先了...

weixin_31300697的博客 396

用户存续期价值评估CLV(三) Gamma-Gamma模型 Python模拟

Gamma-Gamma模型 前面已经提到过,Pareto/NBD和BG/NBD模型只对客户存续时间和交易次数进行建模,并不涉及客户未来交易所带来的现金价值。 Gamma-Gamma模型就是对这个问题的一个扩展解决方案。 Gamma-Gamma模型做了如下假设: 从客户角度上来说,交易金额在每个客户的平均交易价值上随机波动。(这一点并不是很有说服力) 所观察到的交易价值均值是隐含价值均值 ????(????) 的非完美计量 交易价值均值在客户中是变化的,即使这个值是稳定的(这个假设非常大) 在客户中的平

weixin_43171270的博客 4368

零基础实战:YOLO检测头自定义替换全攻略

本文为零基础用户提供了YOLO检测头自定义替换的完整实战指南。通过将检测头比作汽车的“方向盘”,文章详细阐述了为何需要替换、如何寻找和集成新检测头模块、修改配置文件以及最终训练验证的全过程,旨在帮助用户针对特定任务(如小目标检测)提升模型性能。

perl8的博客 255

通俗理解YARN运行原理

1、为什么要使用YARN? 为了提升集群的利用率、资源统一管理, 使用YARN为上层应用提供统一的资源管理和调度的平台。 2、YARN的优势? 资源的统一管理和调度: 集群中所有节点的资源(内存、CPU、磁盘、网络等)抽象为Container。计算框架需要资源进行运算任务时需要向YARN申请Container, YARN按照特定的策略对资源进行调度进行Container的分配。 资源隔离: YAR...

zhuguanghalo的博客 582

C# HttpClient完全攻略:从入门到精通只需5步

HttpClient是.NET框架中用于发送HTTP请求和接收HTTP响应的类。它基于异步编程模型,使得网络操作更加高效和灵活。

java专栏 1579

Spark on Yarn的运行原理

一、YARN是集群的资源管理系统1、ResourceManager:负责整个集群的资源管理和分配。2、ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启动Container。3、NodeManager:每个节点的资源和任务管理器,负责启动/停止Container,并监视资源使用情况。4、...

YiRan_Zhao的博客 352

linux系统下XDMA驱动的安装与测试问题总结

先看两个常见的问题。一个是驱动安装问题,一个是驱动测试错误;error 512 能识别PCIE的设备,但是The kernel modle installed correctly, but no devices were recognized.

whm128的博客 3802

Thingsboard PE智慧运维仪表板实例(一)【智慧排口截污实例】

以该实际落地项目为案例,跟着我一起搭建智慧运维大屏!社区版和专业版都通用。本文是致力于快速搭建,所以不会详细去讲Thingsboard的知识点,只讲如何配置和使用部件。

weixin_67440240的博客 1721

Yarn的运行原理

这一yarn的原理图 Client 首先向RM询问这个作业怎么跑,然后RM会为Client创建一个进程,会在集群中挑一台不忙的节点,创建App Mas(当有一个作业要跑,为这个作业而创建的一个活动的App Mas,它等于Jobtrack的调度模块,Jobtrack的资源管理被yarn弄走,)了,因为App Mas是调度的,所以他从Client中拿回切片清单,但是最终的map在那个节点运行,是Ap...

gcyFrist的博客 259

【HAL库】STM32CubeMX开发----STM32F407----ETH+LAN8720A+LWIP----ping通

本次实验以芯片为MCU,使用25MHz外部时钟源。以太网PHY层芯片为LAN8720A,由MCU引脚PA8提供时钟。

MQ0522的博客 4843

hadoop集群资源管理系统YARN以及YARN的运行原理

一.简介:YARN (Yet Another Resource Negotiator)1.  (官网解释)最基本的思想是纱线拆分功能的资源管理与作业调度/监控到单独的进程。具体设想是全球(ResourceManagerRM)和每应用程序(applicationmasterAM)。应用程序是一个单一的DAG或作业的作业。2.在hadoop 1.x中jobtracker负责作业的调度(将任务与task...

不会水得鱼的博客 1341

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Yarn运行原理了解

YARN运行原理 yarn的前世今生 首先在hadoop1.0版本中,存在的最大问题就是资源管理的问题! 随着技术的发展,人们已经不在满足hadoop集群中只使用mapreduce一个计算框架,人们更希望有一套合理的管理机制来控制整个集群的资源。 在hadoop中启动yarn的命令: ./start-yarn.sh RescoueceManager 是全局资源管理器 NodeManager 是节点资源任务管理器 我们可以理解成RM和NM就是Yarn Yarn的基本架构 Yarn在总体设计思想

Vision 750

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

YARN运行原理浅析

1. yarn的前世今生 yarn为什么会诞生? Yarn干什么用的? 在Hadoop1.x版本中并没有yarn,直到Hadoop2.x版本才有yarn的诞生。 首先,在Hadoop1.0版本,存在的最大的问题就是资源管理问题!!! 随着技术的发展,Hadoop集群只使用mapreduce一个计算框架,出现了很多计算框架(例如:spark,mars等一系列计算框架) 人们更希望有一套合理的管理机制,来控制整个集群的资源管理,所以,yarn就诞生了。 Yarn可以很好的协调各个计算框架与

Allenzyg的博客 2029

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 各大排序算法的时间复杂度和空间复杂度
下一篇: [Golang]快速排序
COMEO
博客等级 码龄11年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值