行业资讯 2025年08月6日
0 收藏 0 点赞 338 浏览 1357 个字
摘要 :

文章目录 1.FIFO策略: 2.容量调度策略: 3.公平调度策略: 3.Fair Scheduler 和 Capacity Scheduler 的比较 4.调度策略的选择 1.FIFO策略: 说明: 假设有两个任务,……




  • 1.FIFO策略
  • 2.容量调度策略:
  • 3.公平调度策略:
  • 3.Fair Scheduler 和 Capacity Scheduler 的比较
  • 4.调度策略的选择

1.FIFO策略:

Yarn的三种调度策略

说明:

假设有两个任务,第一个是任务需要大量资源;第二个需要少量资源,但是紧急重要任务,此时第二个需要等待第一个执行完,才能执行第二个。

弊端:

1)由于顺序执行任务,如果第一个是大量资源,后续任务需要等待。
2)没有做到资源共享。

FIFO Scheduler:从字面不难看出就是先进先出策略,所有的任务都放在一个队列中,只有执行完一个任务后,才会进行下一个。这种调度方式最简单,但真实场景中并不推荐,因为会有很多问题,比如如果有大任务独占资源,会导致其他任务一直处于 pending 状态等。

2.容量调度策略:

Yarn的三种调度策略

说明:

1)属于共享调度策略。
2)将集群资源,给队列分配部分资源,每个队列互不干涉

弊端:

某个队列突然来个大的任务,那这个大的任务不会占用其他队列资源,执行时间长,效率低。
配置弹性队列:允许队列超过自己配置的容量,但仅在其他队列没有占用资源的情况下。

Capacity Scheduler:也就是所谓的容量调度,这种方案更适合多租户安全地共享大型集群,以便在分配的容量限制下及时分配资源。采用队列的概念,任务提交到队列,队列可以设置资源的占比,并且支持层级队列、访问控制、用户限制、预定等等配置。不过对于资源占用比需要不断的摸索与权衡

3.公平调度策略:

Yarn的三种调度策略

说明:

队列间可以互相共享资源,如果权重高的任务来了,权重低的任务会分给权重高的任务部分资源,必要时,可kill掉权重低的任务。

配置公平调度策略

启用公平调度策略,配置属性yarn.resourcemanager.scheduler.class

<property>
    <name>yarn.resourcemanager.scheduler.class</name>
           <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

Fair Scheduler:就是公平调度器,能够公平地共享大型集群中的资源,Fair 调度器会为所有运行的 job 动态的调整系统资源。当只有一个 job 在运行时,该应用程序最多可获取所有资源,再提交其他 job 时,资源将会被重新分配分配给目前的 job,这可以让大量 job 在合理的时间内完成,减少作业 pending 的情况。可见 Fair Schedule 比较适用于多用户共享的大集群

3.Fair Scheduler 和 Capacity Scheduler 的比较

随着 Hadoop 版本逐渐演化,Fair Scheduler 和 Capacity Scheduler 的功能越来越完善,因此两个调度器的功能也逐渐趋近,由于 Fair Scheduler 支持多种调度策略,因此可以认为 Fair Scheduler 具备了 Capacity Scheduler 的所有功能。

4.调度策略的选择

通过分析常见的几种调度器,选用 Fair Schedule 调度器更适合共享型大集群,资源调度并没有最优解,需要不断探索实践去寻找适合目前现状的方案;在发展的不同阶段遇到不同的问题,通过解决问题逐渐去优化和完善。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/7439.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号