关闭

hadoop调度器总结

标签: hadoop
232人阅读 评论(0) 收藏 举报
分类:

转载自董的博客 http://dongxicheng.org/mapreduce/hadoop-schedulers/

随着MapReduce的流行,其开源实现Hadoop也变得越来越受推崇。在Hadoop系统中,有一个组件非常重要,那就是调度器,它的作用是将系统中空闲的资源按一定策略分配给作业。在Hadoop中,调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。Hadoop中常见的调度器有三种,分别为:

(1)默认的调度器FIFO
Hadoop中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。
(2) 计算能力调度器Capacity Scheduler
支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。
(3)公平调度器Fair Scheduler
同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置,同一队列中的作业公平共享队列中所有资源,具体算法参见我的博文《Hadoop公平调度器算法解析》
实际上,Hadoop的调度器远不止以上三种,最近,出现了很多针对新型应用的Hadoop调度器。
(4)适用于异构集群的调度器LATE
现有的Hadoop调度器都是建立在同构集群的假设前提下,具体假设如下:
1)集群中各个节点的性能完全一样
2)对于reduce task,它的三个阶段:copy、sort和reduce,用时各占1/3
3)同一job的同类型的task是一批一批完成的,他们用时基本一样。
现有的Hadoop调度器存在较大缺陷,主要体现在探测落后任务的算法上:如果一个task的进度落后于同类型task进度的20%,则把该task当做落后任务(这种任务决定了job的完成时间,需尽量缩短它的执行时间),从而为它启动一个备份任务(speculative task)。如果集群异构的,对于同一个task,即使是在相同节点上的执行时间也会有较大差别,因而在异构集群中很容易产生大量的备份任务。
LATE(Longest Approximate Time to End,参考资料[4])调度器从某种程度上解决了现有调度器的问题,它定义三个阈值:SpeculativeCap,系统中最大同时执行的speculative task数目(作者推荐值为总slot数的10%); SlowNodeThreshold(作者推荐值为25%):得分(分数计算方法见论文)低于该阈值的node(快节点)上不会启动speculative task;SlowTaskThreshold(作者推荐值为25%):当task进度低于同批同类task的平均进度的SlowTaskThreshold时,会为该task启动speculative task。它的调度策略是:当一个节点出现空闲资源且系统中总的备份任务数小于SpeculativeCap时,(1)如果该节点是慢节点(节点得分高于SlowNodeThreshold),则忽略这个请求。 (2)对当前正在运行的task按估算的剩余完成时间排序 (3)选择剩余完成时间最大且进度低于SlowTaskThreshold的task,为该task启动备份任务。
(5)适用于实时作业的调度器Deadline Scheduler和Constraint-based Scheduler
这种调度器主要用于有时间限制的作业(Deadline Job),即给作业一个deadline时间,让它在该时间内完成。实际上,这类调度器分为两种,软实时(允许作业有一定的超时)作业调度器和硬实时(作业必须严格按时完成)作业调度器。
Deadline Scheduler(参考资料[5])主要针对的是软实时作业,该调度器根据作业的运行进度和剩余时间动态调整作业获得的资源量,以便作业尽可能的在deadline时间内完成。
Constraint-based Scheduler(参考资料[6])主要针对的是硬实时作业,该调度器根据作业的deadline和当前系统中的实时作业运行情况,预测新提交的实时作业能不能在deadline时间内完成,如果不能,则将作业反馈给用户,让他重调整作业的deadline。


0
0
查看评论

Hadoop平台自带的4种任务调度器做分析和比较

Hadoop平台自带的4种任务调度器做分析和比较
  • zmycoco2
  • zmycoco2
  • 2013-12-06 10:15
  • 5231

Hadoop应用------如何编写Hadoop调度器【可以先学习雅虎开源的容量调度器和facebook开源的公平调度器】

文章来源:http://blog.csdn.net/athenaer/article/details/7441709 作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org...
  • buster2014
  • buster2014
  • 2015-10-25 07:53
  • 350

hadoop中的调度器总结

hadoop中常用的调度器有三种: 1、Fifo:默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。 2、计算能力调度器Capacity schedular:支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个作业独占队列中的资源,该...
  • o340176635
  • o340176635
  • 2015-07-17 16:19
  • 791

如何编写Hadoop调度器

1. 编写目的 在Hadoop中,调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器,然后在配置文件中指定相应的调度器,这样,当Hadoop集群启动时,便会加载该调度器。当前Hadoop自带了几种调度器,分别是FIFO(默认调度器),Capacity Scheduler...
  • GarfieldEr007
  • GarfieldEr007
  • 2016-03-27 12:59
  • 699

Hadoop-2.4.1学习之容量调度器

本篇文章学习了hadoop中容量调度器的特性,并详细描述了配置参数
  • sky_walker85
  • sky_walker85
  • 2014-11-21 17:00
  • 4478

hadoop2.0 公平调度器(fair-scheduler)配置

如果是第一次接触hadoop2.0版本的 Fairshare scheduler , 最好先看一下他的官方文档: http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/FairScheduler.html ...
  • baiyangfu
  • baiyangfu
  • 2013-11-01 17:21
  • 6013

Hadoop系列(5)之容量调度器Capacity Scheduler配置

1. 应用场景 本文只关注配置,关于调度器的算法以及核心内容将在下一篇介绍。 Capacity Scheduler是YARN中默认的资源调度器,但是在默认情况下只有root.default 一个queue。而当不同用户提交任务时,任务都会在这个队里里面按优先级先进先出,大大影响了多用户的资源使...
  • lantian0802
  • lantian0802
  • 2016-07-15 14:55
  • 2089

Hadoop作业调度器

随着 MapReduce 的流行,其开源实现 Hadoop 也变得越来越受推崇。在 Hadoop 系统中,有一个组件非常重要,那就是调度器。调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器 1、调度器基本作用   Hadoop调度器的基本作用就是根据节点资源(slot)...
  • javastart
  • javastart
  • 2017-06-11 17:47
  • 434

Hadoop2.x调度器

计算能力调度器计算能力调度器目前使用基于内存使用量(未来包括CPU资源)的一个分配单元为单位来进行资源的分配。计算能力调度器通过如下配置来实现对多租户的支持: 按照企业组来配置分配集群资源 配置资源限制,以避免某个大型应用程序独占集群资源 针对企业组的不同用户配置资源和访问控制 计算能力调度器属于分...
  • qq_14847537
  • qq_14847537
  • 2017-08-27 10:36
  • 175

Hadoop 调度器

FIFO 调度器 集成在 JobTracker 中的原有调度算法被称为 FIFO。在 FIFO 调度中,JobTracker 从工作队列中拉取作业,最老的作业最先。这种调度方法不会考虑作业的优先级或大小,但很容易实现,而且效率很高。 公平调度 公平共享调度器的核心概念是,...
  • mlljava1111
  • mlljava1111
  • 2014-10-14 00:21
  • 729
    个人资料
    • 访问:6998次
    • 积分:126
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论