Yarn有哪些调度策略

【Yarn】资源调度策略 资源调度策略 Yarn既然是一个分布式资源调度框架,管理着节点上的计算资源,那它分配这些资源的时候,便会存在调度策略。 而Yarn的调度策略有三种:FIFO调度、容量调度、公平调度。接下来,会依次对这几种调度器进行讲解。 FIFO调度器 FIFO Scheduler(先进先出调度器),这种调度器其实已经耳熟能详了,它将所有任务放入一个队列,先进队列的先获得资源,排在后面的任务只有等待,总的原则就是先到先得。 虽然这种调度策略,实现起来非常简单;但它因为只有单个队列,无法交叉运行任务、灵活性差,紧急任务无法 阅读详情

YARN(Yet Another Resource Negotiator)是 Hadoop 2.x 及以后版本中的资源管理和作业调度框架。它的核心职责之一是 调度集群资源(如 CPU、内存)给不同的应用程序。YARN 支持多种调度策略,主要通过 可插拔的调度器(Scheduler) 实现。


一、YARN 调度器类型

YARN 提供三种主要的调度器:

1. FIFO Scheduler(先进先出调度器)

  • 原理:按照应用程序提交的先后顺序排队,先提交的先分配资源。
  • 特点:
    • 简单、默认在早期 Hadoop 版本中使用。
    • 不支持多租户或多队列,大作业会阻塞小作业。
  • 适用场景:测试环境或单用户场景,生产环境一般不推荐。

2. Capacity Scheduler(容量调度器) ✅(Hadoop 默认调度器)

  • 设计目标:支持多组织/团队共享集群,保证每个队列有最低资源保障,同时允许资源弹性共享。
  • 核心机制:
    • 集群资源被划分为多个 队列(Queues),每个队列配置 最小容量(capacity)。
    • 队列内部作业按 FIFO 或其他策略调度。
    • 当某个队列未用满其容量时,空闲资源可被其他队列 临时借用(弹性共享)。
    • 支持 层级队列(Hierarchical Queues),例如 root.dev、root.prod。
    • 支持 访问控制(ACL)、资源限制、优先级等。
  • 优点:
    • 多租户友好
    • 资源隔离 + 弹性利用
    • 适合长期运行的生产环境
  • 配置文件:capacity-scheduler.xml

📌 示例:

  • root 队列下分 dev(40%)和 prod(60%)
  • 若 dev 只用了 20%,则 prod 可临时使用剩余 20% 的资源

3. Fair Scheduler(公平调度器)

  • 设计目标:随着时间推移,让所有作业公平地共享集群资源。
  • 核心机制:
    • 所有作业被分配到 池(Pools)(类似队列)。
    • 资源按“公平份额”动态分配,小作业能快速获得资源,避免被大作业饿死。
    • 支持 最小资源保障(minResources) 和 权重(weight) 调整优先级。
    • 默认情况下,新作业立即获得部分资源,实现低延迟响应。
  • 优点:
    • 响应快,适合混合负载(交互式 + 批处理)
    • 自动平衡资源,无需精细配置
  • 配置文件:fair-scheduler.xml

⚠️ 注意:从 Hadoop 3.1.0 开始,Fair Scheduler 已被标记为 deprecated(弃用),未来版本可能移除。官方推荐使用 Capacity Scheduler。


二、调度策略对比

特性FIFOCapacity SchedulerFair Scheduler
多队列支持❌✅(层级队列)✅(池)
资源隔离❌✅(最小容量保障)⚠️(可配 minResources)
资源弹性共享❌✅(借用空闲资源)✅(动态公平分配)
适合多租户❌✅✅✅✅
小作业响应速度慢(被大作业阻塞)中(依赖队列配置)快
是否默认Hadoop 1.x 是Hadoop 2.x/3.x 默认否
是否推荐生产使用❌✅✅✅⚠️(已弃用)

三、如何选择调度器?

  • 企业生产环境 → Capacity Scheduler(功能全面、稳定、官方主推)
  • 教学/测试/单用户 → FIFO(简单)
  • 需要快速响应小作业(且 Hadoop < 3.1)→ Fair Scheduler(但需注意未来兼容性)

四、配置方式(简要)

切换调度器(在 yarn-site.xml 中):

<!-- 使用 Capacity Scheduler(默认) -->
<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>

<!-- 使用 Fair Scheduler -->
<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

然后根据所选调度器配置对应的 XML 文件。


总结

YARN 的调度策略核心在于 资源如何在多用户、多应用之间分配。

  • Capacity Scheduler 是当前主流选择,兼顾隔离性与弹性;
  • Fair Scheduler 曾用于追求公平和低延迟,但已被弃用;
  • FIFO 仅适用于简单场景。

合理配置调度器,是构建高效、稳定大数据平台的关键一步。

南 京 农 业 大 学 试 题 纸 附表(rape.csv)是25个油菜材料,测得每个材料的千粒重、亚油酸等的含量. (1) 对物质含量的八个指标作主成分分析,画出碎石图和主成分得分图; (2) 选 (1)请用n1 阅读详情

相关推荐

避坑指南:汇川SV660N配合SOEM时,PDO映射与CiA402状态机那些容易出错的地方

本文深入解析汇川SV660N伺服驱动与SOEM主站在PDO动态映射和CiA402状态机切换中的常见问题,提供实战代码和调试技巧。重点解决PDO配置时序、状态机转换同步等关键难点,帮助工程师避免典型错误,实现稳定通信与控制。

weixin_30653023的博客 497

YARN的三种调度器的使用

    YRAN提供了三种调度策略 一、FIFO-先进先出调度器     YRAN默认情况下使用的是该调度器,即所有的应用程序都是按照提交的顺序来执行的,这些应用程序都放在一个队列中,只有在前面的一个任务执行完成之后,才可以执行后面的任务,依次执行     缺点:如果有某个任务执行时间较长的话,后面的任务都要处于等待状态,这样的话会造成资源的使用率不高;如果是多人共享集群资源的话,...

aitiejue5146的博客 654

使用 ChatGPT/Copilot 提升前端开发效率的 N 种方式

typescript// 输入:根据这个 JavaScript 对象,生成完整的 TypeScript 类型定义id: '123',stock: 50,},// ChatGPT 生成:id: string;discount?: number;// 可选属性// 只读属性// 更进一步,生成 Zod schema 用于运行时验证:});}),});AI 代码助手真正的革命性不在于它能生成多少代码,而在于它改变了我们解决问题的方式。

fineday 1590

YARN资源调度

理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。 1、调度器的选择 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS cheduler

HANG.NIAN 974

直流电源滤波电路的设计与优化:从基础原理到高效应用

本文深入探讨直流电源滤波电路的设计与优化,从基础原理到高效应用全面解析。重点介绍电容滤波和电感滤波的工作原理及实战设计要点,分享复合滤波电路的进阶技巧,并提供常见问题排查指南。文章还涵盖现代滤波技术的新发展,如有源滤波和数字控制滤波的应用,帮助工程师提升电源系统的稳定性和效率。

weixin_29255731的博客 175

十大排序算法详解(一)冒泡排序、选择排序、插入排序、快速排序、希尔排序

冒泡排序、选择排序、插入排序、快速排序、希尔排序

HK的博客 18万+

【大数据】YARN调度器及调度策略

YARN负责作业资源调度,在集群中找到满足业务的资源,帮助作业启动任务,管理作业的生命周期。​YARN技术架构​目前,Hadoop作业调度器主要有三种:先进先出调度器(First In First Out)、容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)。Apache Hadoop-1.x 默认调度器为先进先出调度器(First In First Out);

Python、Golang、大数据 2911

最优化学习笔记1——关于拟牛顿法推导

从2020年3月份到现在,一年的时间里断断续续自学最优化,结合豆瓣读书、知乎等网站上的推荐,翻阅了以下书和课程: Stephen Boyd和Lieven Vandenberghe的《Convex Optimization》,这本书被公认为学习凸优化的必读经典著作,其中大量的篇幅讲应用,讲理论和算法的篇幅稍少一些。在B网站上有Boyd的视频课程,油管上也有,不过只有英文字幕,如果是零基础接触,直接看Boyd的视频稍显费劲,B站上也有凌青老师以《Convex Optimization》为教材的讲解,推荐作为入

xiaofei473的博客 1768

深入理解Apache YARN的调度策略

理想情况下,YARN应用发出的资源请求应该立刻给予满足。然而现实中资源是有限的,在一个繁忙的集群中上,一个应用经常需要等待才能得到所需要的资源。YARN调度器的工作就是根据既定策略为应用分配资源。调度通常是一个难题,并且没有一个所谓的“最好”策略,这也是为什么YARN提供了多种调度器和可配置策略供我们选择的原因。接下来本文将深度探讨这个问题。

SunnyRivers 1080

YOLOv8+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程

双向特征金字塔网络(BiFPN)是一种强化多尺度特征融合支持“自顶向下+自底向上”的双向特征流动,同时保留不同尺度的细节信息;引入加权融合机制,自动学习不同特征的重要性权重;裁剪冗余节点,在轻量化的同时提升融合效率。

m0_64661770的博客 492

有效Dk值提取方法的仿真分析

通过本文的仿真对比分析,提取有效Dk值方面,TDR技术在一些固定的场景下,依然有其参考应用价值,而随着VNA功能的不断增强和高精度测量手段的不断更新,双端口Delta-L技术才是主流评估方法,而单端口Delta-L技术则可以作为其降本增效的方案补充。

一只豌豆象的博客 1823

YARN----调度策略

当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。最终效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成。在进行资源分配的时候,先给队列中最先上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配。Capacity 调度器允许多个组织共享整个集群,每个组织可以获得集群的一部分计算能力,为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源。

Darling博客 502

C语言读取CSV文件的方法1

逗号分隔值文件格式(CSV),以纯文本形式存储表格数据,它是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。本文介绍利用C语言标准库中的一个字符串处理函数 strtok()来对CSV文件内容进行读取的基本方法

白马负金羁 1万+

YARN功能介绍、交互流程及调度策略

YARN介绍

小叮当的博客 1868

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

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Yarn资源调度策略

资源调度策略 Yarn既然是一个分布式资源调度框架,管理着节点上的计算资源,那它分配这些资源的时候,便会存在调度策略。 而Yarn的调度策略有三种:FIFO调度、容量调度、公平调度。接下来,会依次对这几种调度器进行讲解。 FIFO调度器 FIFO Scheduler(先进先出调度器),这种调度器其实已经耳熟能详了,它将所有任务放入一个队列,先进队列的先获得资源,排在后面的任务只有等待,总的原则就是先到先得。 虽然这种调度策略,实现起来非常简单;但它因为只有单个队列,无法交叉运行任务、灵活性差,紧急任务无法

pengpengsays 2866

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

yarn的三大调度策略

Fair(公平调度): FaceBook推出的, 后续要用的CDH(Cloudera公司提供的Hadoop, 商业版)的Yarn调度器就是这个.Capacity(容量调度): 我们用的Apache Hadoop(社区版Hadoop), Yarn的底层默认用的就是这种调度器.每个任务获取集群的资源, 都是公平的, 均分的, 例如: 1个任务, 就占用 100%资源,1. 每个计算任务不能独享集群100%的资源, 存在着资源闲置(浪费)的情况.2. 如果只要1个任务, 则它可以共享集群100%的资源.

qq_58675620的博客 1047

YARN架构设计及调度策略

架构设计 YARN 总体上仍然是 Master/Slave 结构,在整个资源中,ResourceManager 为 Master,NodeManager 为 Slave。YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container等几个组件构成。 概略介绍: Master/Slave 结构,1 个 ResourceMana...

qq_42795601的博客 359

yarn 的三大调度策略?思维导图 代码示例(java 架构)

YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理和调度框架,它提供了多种调度策略来优化任务执行。以下是关于YARN三大主要调度策略的详细介绍、思维导图描述以及一个简单的Java代码示例来展示如何与配置好的YARN集群进行交互。

qq_33240556的博客 1140

YARN资源调度策略

YARN资源调度策略 YARN 资源调度器是直接从MR基础上修改而来,它提供了三种可用资源调度器 :FIFO Scheduler ,Capacity Scheduler,FairScheduler。 一、调度原理 1.1 FIFO Scheduler FIFO是Hadoop设计之初提供的一个最简单的调度机制: 即先来先服务。是最简单、也是默认的调度器。只有一个队列,所有用户共享。资源分配的过程也非常简单,先到先得,所以很容易出现一个用户占满集群所有资源的情况。可以设置ACL,但不能设置各个用户的优先级。 优

weixin_45682234的博客 1328

YARN调度策略比较

YARN总共提供了三种调度策略:CapacityScheduler,FIFO Scheduler, FairScheduler 一 FIFOScheduler-先进先出调度策略 即所有的应用程序将按照提交顺序来执行,这些应用程序都放在一个队列里,只有在执行完了一个之后,在执行顺序执行下一个   缺点: 耗时长的任务会导致后提交的一直处于等待状态,资源利用率不高;如果集群多人共享,显然不

happy19870612's blog 6879

yarn的三个资源调度策略

yarn.resourcemanager.scheduler.class

2401_82366115的博客 469

Hadoop中的yarn组建的几种资源调度策略

yarn中几种重要的的资源调度策略          1&gt;fifo(队列调度策略):在数据结构中,我们学习了队列这种数据结构,遵循先进先出的原则,在资源调度也是队列这种数据结构的一种应用,当存在多个任务的需要去执行的时候,他们都存在于任务队列中,这种资源调度策略,首先会优先的从任务队列中头部拿到任务,对该任务分配足够的资源,使得第一个任务有足够的资源,保障其顺利的进行,在有剩余资源的情况下...

w5201314ws6123的博客 623

Yarn 的调度策略与算法:深入探讨

1.背景介绍 YARN(Yet Another Resource Negotiator),即“另一种资源协商者”,是一个基于Hadoop的分布式应用框架,它的主要目标是简化分布式应用的开发和部署。YARN将资源管理和作业调度分离,使得资源管理和作业调度可以独立进行,从而提高了系统的灵活性和可扩展性。 在这篇文章中,我们将深入探讨YARN的调度策略和算法。我们将从以下几个方面进行讨论: 背景...

AI天才研究院 844

Yarn新的资源调度策略-label based scheduling

什么是Label based scheduling?故名思议,Label based scheduling是一种调度策略,就像priority-based scheduling一样,是调度器调度众多调度策略中的一种,可以跟其他调度策略混合使用,实际上,hadoop也是这样做的。但是,相比于其他调度策 略,基于标签的调度策略则复杂的多,这个feature的代码量非常大,基本上需要修改YARN的各个模块

孙张宾博客 1215

Yarn Scheduler调度策略比较

本文同时参考下列文章,以便深入理解: https://blog.youkuaiyun.com/labud/article/details/52043557 https://blog.youkuaiyun.com/u014589856/article/details/78119504      YARN总共提供了三种调度策略:CapacityScheduler,FIFO Scheduler, FairSchedu...

purisuit_knowledge的专栏 814
上一篇: Hive udf函数包括哪几类
下一篇: hadoop 的 namenode 宕机如何处理
走过冬季
博客等级 码龄9年 1609粉丝 341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走过冬季

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值