在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler。

FIFO Scheduler

FIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。
FIFO Scheduler它并不适用于共享集群。大的应用可能会占用所有集群资源,这就导致其它应用被阻塞。

Capacity Scheduler

Capacity调度器,有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。

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

当队列已满,Capacity调度器不会强制释放Container,当一个队列资源不够用时,这个队列只能获得其它队列释放后的Container资源,这个称为“弹性队列”,也可以设置最大值,防止过多占用其他队列的资源。

Fair Scheduler

Fair调度器中,我们不需要预先占用一定的系统资源,Fair调度器会为所有运行的job动态的调整系统资源。如下图所示,当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。

需要注意的是,在下图Fair调度器中,从第二个任务提交到获得资源会有一定的延迟,因为它需要等待第一个任务释放占用的Container。小任务执行完成之后也会释放自己占用的资源,大任务又获得了全部的系统资源。最终的效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成。

详情请看Hadoop详解(十):Hadoop作业调度机制,其中作业调度策略与Yarn中作业调度策略一致。

Hadoop详解(十二):Yarn资源调度策略相关推荐

  1. Linux内核Thermal框架详解十二、Thermal Governor(2)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  2. 攻防世界杂项(misc)--新手练习区(详解十二道题完结,附件做题过程中使用到的各种工具和网站)

    攻防世界杂项(misc)–新手练习区(详解) 第一题:this_is_flag 题目描述:Most flags are in the form flag{xxx}, for example:flag{ ...

  3. Hadoop详解(二):HDFS存储系统设计原理

    1. 基本概念 1.1 NameNode HDFS采用Master/Slave架构.NameNode就是HDFS的Master架构.HDFS系统包括一个NameNode组件,主要负责HDFS文件系统的 ...

  4. JavaScript 各种参数 详解(十二)

    程序代码 ' *---------------------------------------------------------------------------- ' * 函数:CheckIn ...

  5. 数字音频总线A2B开发详解十二(A2B一Master板做音效处理-31段EQ,高中低音分频等)

    作者的话 从板B上,我们把Master板上直通过来的音频信号,通过板子上的ADAU1761进行调音,可以让每一块从板都发出自己的声音,那么可不可以从源头,我们在Master上就把声音分配好,高音你去B ...

  6. Hadoop第七天--MapReduceYarn详解(二)

    文章部分转自:https://blog.csdn.net/dataiyangu/article/details/89481818 自己的话:层楼终究误少年,自由早晚乱余生. 祝大家中秋节快乐! Had ...

  7. Hadoop详解以及历史版本介绍

    Hadoop详解 Hadoop的介绍以及发展历史 Hadoop之父Doug Cutting Hadoop最早起源于lucene下的Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页 ...

  8. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  9. BIND配置文件详解(二)

    本文档摘录自<BIND9管理员手册>,如果有不对或者不清楚的地方,请大家告诉我,谢谢!   BIND配置文件详解(二)   6.options语句 options语句的定义和使用: opt ...

最新文章

  1. 知道了05后的隐藏技能之后,我酸了…​
  2. python扩展包安装_python怎么安装扩展包
  3. C#的类,构造函数以及Array阵列的数据填充与绑定
  4. 来吧,自己动手撸一个分布式ID生成器组件
  5. mysql图片保存和读取
  6. 别怨自己命不好,先看看“厚德载物”你有几德?
  7. asc 点阵数组和计算认识
  8. 【电气制图】AutoCad的常用操作(持续更新中...)
  9. ZEMAX | 如何使用 ISO 元件制图工具
  10. 轻松访问Google Chrome浏览器中的浏览历史记录
  11. sklearn 5.18.3 SGD - Maximum margin separating hyperplane
  12. 记一次网站迁移的过程
  13. 极光笔记|百亿级KV存储在极光的运维实践之路
  14. 跨境电商运营系统平台及Fecify推荐
  15. IOS 蓝牙设备断开时间内进行自动链接
  16. mysql 密码忘记办法
  17. MySQL数据库删除后的恢复工作
  18. Verdi中文教程(VCS+加法器案例)
  19. 离散数学-1 命题逻辑的基本概念
  20. 计算机黑屏鼠标不亮,技术员给你电脑开机后显示器黑屏 鼠标灯亮 键盘灯不亮?...

热门文章

  1. HDU-1170的解题报告
  2. Visual Studio 中指定自定义生成事件
  3. centos7.3上yum install nodejs
  4. JavaScript的编码规范
  5. 【转】【Android】使用BaseAdapter实现复杂的ListView
  6. 2020年女人体重表,看看你是不是标准的模特体重
  7. 计算机视觉的发展现状
  8. 初学者如何选出最适合自己深度学习框架?
  9. Fedora Workstation 30是激动人心的、功能丰富的更新
  10. 让C/C++程序员告诉你什么叫浪漫,表白黑科技