hadoop调度器的作用是将系统中空闲的资源按一定策略分配给作业。调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。Hadoop中常见的调度器有三种,分别为:

1.基于队列的FIFO(先进先出)

  hadoop默认的资源调度器。优点:简单明了。缺点:忽略了不同作业的需求差异。

2.计算能力调度器Capacity Scheduler
  支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。选择占用最小、优先级高的先执行

  调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。

3.公平调度器Fair Scheduler
  公平调度是一种赋予作业(job)资源的方法,它的目的是让所有的作业随着时间的推移,都能平均的获取等同的共享资源。所有的 job 具有相同的资源

  当单独一个作业在运行时,它将使用整个集群。当有其它作业被提交上来时,系统会将任务(task)空闲资源(container)赋给这些新的作业,以使得每一个作业都大概获取到等量的CPU时间。

  与Hadoop默认调度器维护一个作业队列不同,这个特性让小作业在合理的时间内完成的同时又不"饿"到消耗较长时间的大作业。它也是一个在多用户间共享集群的简单方法。公平调度可以和作业优先权搭配使用——优先权像权重一样用作为决定每个作业所能获取的整体计算时间的比例。同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置,  同一队列中的作业公平共享队列中所有资源。

总结(转):

随着Hadoop版本的演化,Fair Scheduler和Capacity Scheduler的功能越来越完善, 包括层级队列组织方式、资源抢占、批量调度等,也正因如此,两个调度器同质化越来越严重, 目前看了,两个调度器从设计到支持的特性等方面非常接近, 而由于Fair Scheduler支持多种调度策略,现在看来,可以认为Fair Scheduler具备了Capacity Scheduler具有的所有功能。

下表从多个方面对比了Hadoop 2.0(YARN)中这两个调度器的异同,通过这个表读者能更好地理解Capacity Scheduler与Fair Scheduler的相同点和不同点。

其中,FIFO、FAIR和DRF分别是指 先来先服务、公平调度 和 主资源公平调度,具体含义如下:

FIFO:先按照优先级高低调度,如果优先级相同,则按照提交时间先后顺序调度,如果提交时间相同,则按照(队列或者应用程序)名称大小(字符串比较)调度

FAIR:按照内存资源使用量比率调度,即按照used_memory/minShare大小调度(核心思想是按照该调度算法决定调度顺序,但还需考虑一些边界情况)

DRF:借鉴了Mesos中的设计策略,按照主资源公平调度算法进行调度,具体已经在Apache Mesos调度器机制进行了介绍

实际上,Hadoop的调度器远不止以上三种,最近,出现了很多针对新型应用的Hadoop调度器。
4.适用于异构集群的调度器LATE

  现有的Hadoop调度器都是建立在同构集群的假设前提下,LATE建立在集群异构的情况。

5.适用于实时作业的调度器Deadline Scheduler和Constraint-based Scheduler

  这种调度器主要用于有时间限制的作业(Deadline Job),即给作业一个deadline时间, 让它在该时间内完成。实际上,这类调度器分为两种,软实时(允许作业有一定的超时)作业调度器 和 硬实时(作业必须严格按时完成)作业调度器。

  • Deadline Scheduler主要针对的是软实时作业,该调度器根据作业的运行进度和剩余时间动态调整作业获得的资源量,以便作业尽可能的在deadline时间内完成。
  • Constraint-based Scheduler主要针对的是硬实时作业,该调度器根据作业的deadline和当前系统中的实时作业运行情况,预测新提交的实时作业能不能在deadline时间内完成,如果不能,则将作业反馈给用户,让他重调整作业的deadline。

转载于:https://www.cnblogs.com/skyl/p/4785681.html

Hadoop资源调度器相关推荐

  1. Hadoop的资源调度器

    Hadoop的资源调度器 概念 资源调度器分类 FIFO(先进先出调度器) Capacity Scheduler(容量调度器) Fair Scheduler(公平调度器) 概念 目前,Hadoop作业 ...

  2. Hadoop之资源调度器与任务推测执行

    Hadoop之资源调度器 目录 资源调度器概述 先进先出调度器(FIFO) 容量调度器(Capacity Scheduler) 公平调度器(Fair Scheduler) 任务的推测执行 1. 资源调 ...

  3. Hadoop 3.x(Yarn)----【Yarn 资源调度器】

    Hadoop 3.x(Yarn)----[Yarn 资源调度器] 1. Yarn 基础架构 2. Yarn 工作机制 3. 作业提交全过程 4. Yarn 调度器和调度算法 1. 先进先出调度器(FI ...

  4. Hadoop之Yarm资源调度器

    Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于操作系统之上的应用程序. Yarn的基本架构 YARN 主要是由Res ...

  5. 2.Hadoop 分布式计算框架:Mapreduce(扩展)——Yarn资源调度器

    2.Yarn资源调度器 2.3 YARN resourcemanager-HA搭建 2.3.1 文档查看与集群规划 RM高可用官方网址: http://hadoop.apache.org/docs/r ...

  6. hadoop yarn的三种资源调度器详解

    yarn调度器分类 FIFO(先进先出调度器) Capacity Scheduler (容量调度器) Fair Scheduler (公平调度器) 注意:Hadoop2.9.2 默认的资源调度器为 容 ...

  7. 大数据之-Hadoop3.x_Yarn_资源调度器介绍说明---大数据之hadoop3.x工作笔记0140

    然后我们再来看一下yarn这个资源调度器怎么去用, yarn是个资源调度器,不光是在hadoop集群中有应用,在我们将来学的 spark,flink等中也有应用. 首先了解一下,yarn基础架构,ya ...

  8. 资源管理与调度系统-YARN的资源调度器

    资源管理与调度系统-YARN的资源调度器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 资源调度器是Hadoop YARN中最核心的组件之一,它是ResourceManager中的 ...

  9. 【十八掌●内功篇】第六掌:YARN之YARN资源调度器

    这一篇博文是[大数据技术●降龙十八掌]系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌 系列文章: [十八掌●内功篇]第六掌:YARN之架构和原理 [十八掌●内功篇]第六掌:YARN之Reso ...

最新文章

  1. 军用软件概算计价规范_工程造价五算:估算、概算、预算、结算、决算
  2. 比特币和加密货币入门
  3. Hadoop学习之Mapreduce执行过程详解
  4. gitlab更改默认Nginx
  5. python学生管理系统-学生管理系统python
  6. 022_配置configuration
  7. 蓄电池充放电试验培训课件
  8. 操作系统(三十)避免死锁
  9. Spark-Sql整合hive,在spark-sql命令和spark-shell命令下执行sql命令和整合调用hive
  10. grep, egrep, fgrep笔记
  11. 禅道11.0windows本机安装
  12. linux屏幕怎么放大_02|初始Linux——Windows与Linux区别
  13. strip函数的特殊用法
  14. windows phone 8.1 让项目开启蓝牙genericAttributeProfile
  15. 【路径规划】基于matlab GUI人工势场算法机器人避障路径规划(手动设障)【含Matlab源码 617期】
  16. PMP学习笔记 零 启动
  17. java常用开发工具大合集
  18. Windows 10 uefi引导模式 GPT+UEFI Ghost系统备份还原步骤
  19. Unity懒人福利————— 一键搭UI工具
  20. 力扣(674.160)补8.30

热门文章

  1. 2018-06-12 python读二进制文件
  2. 新疆克拉玛依有没有考计算机一级的,新疆维吾尔自治区克拉玛依2018年3月计算机等级考试公告...
  3. esri-leaflet入门教程(2)-地图的HelloWorld
  4. 巅峰对决 Spring Boot VS .NET 6
  5. (转)Managed DirectX +C# 开发(入门篇)(七)
  6. Spring MVC中静态资源加载
  7. Spark中DataFrame 基本操作函数
  8. Go-fastdfs分布式文件系统搭建
  9. easyui实现jsp页面模板插入弹框中
  10. linux暂时不能域名解析,Kali Linux中暂时不能解析域名