在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. smarty模板中类似for的功能实现
  2. 组合数处理(逆元求解)
  3. tcpdump抓包实例
  4. 高级会计师计算机考试中级,会计师需要计算机等级考试吗
  5. mybatis学习(26):插入功能(插入数据)
  6. math 计算float_Java Math类静态float min(float f1,float f2)与示例
  7. 系统操作手册_东芝CT操作手册——系统概述
  8. PyQt5学习--基本窗口控件--QButton类控件
  9. html语言代码 输入文字,html语言教程文字代码:
  10. 工业铝型材是怎样去生产的
  11. Python数据可视化——坐标轴基础
  12. win7科学计算机的用法,Win7自带计算器使用功能介绍
  13. 破解各类加密文件密码
  14. 将图片放大如何保持图片的清晰度?
  15. 笔记本用HDMI转VGA转接线后,显示器没声音的解决方法
  16. java版12306抢票_J12306
  17. 龚文祥自爆今日头条微博自媒体年收入仅1000元!
  18. Android事件总线(一)EventBus3.0用法全解析
  19. 数据挖掘:数据(数据的基本统计描述)
  20. ‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

热门文章

  1. Python遍历列表时删除元素
  2. Python学习之路1 - 基础入门
  3. 加密工具类 - CryptoUtils.java
  4. [已经完美解决]IE下 'document.getElementById(...)' is null
  5. [置顶] WindowsPhone之我见
  6. TensorFlow精选Github开源项目
  7. 宝马无人车体验:把司机彻底干掉,有必要吗?
  8. 简述Python的Numpy,SciPy和Pandas,Matplotlib的区别
  9. 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码
  10. html实现照片添加功能,HTML5 Canvas调用手机拍照功能实现图片上传功能(图文详解上篇)...