第6章MapReduce--Hadoop作业的调度
2014-11-19 20:03
260 查看
作业的调度
早期版本中按照作业提交的顺序,使用FIFO调度算法来运行作业。随后,加入设置作业优先级的功能,可以通过设置mapred.job.priority属性货JobClient的setJobPriority()方法来设置优先级。作业调度器选择要运行的下一个作业时,它选择的是优先级最高的那个作业。然而,优先级并不支持抢占,所以高优先级的作业仍然会被那些在高优先级作业被调度之前已经开始的、长时间运行的低优先级的作业所阻塞。
在Hadoop中,MapReduce的调度器可以选择。默认的调度器是原始的基于队列的FIFO调度器,还有两个多用户调度器,分别为Fair Scheduler和Capacity Scheduler。
Fair
Scheduler
Fair Scheduler(公平调度器)的目标是让每个用户公平的共享集群能力。某个用户的一个短的作业将在合理的时间内完成,即便另一个用户的长时间作业正在运行而且还在运行过程中。
作业都被放在作业池中,在默认情况下,每个用户都有自己的作业池。
Fair
Scheduler支持抢占,所以,如果一个池在特定的一段时间内为得到公平的资源共享,它会中止运行池中得到过多资源的任务,以便把任务槽让给运行资源不足的池。 Fair
Scheduler是一个后续模块,要使用它,需要将其JAR文件放在hadoop的类路径,即将它从contrib/ fairscheduler目录复制到lib目录。随后,像下面这样设置mapred.jobtracker.taskScheduler属性:org.apache.hadoop.mapred. FairScheduler。经过这样的设置后,即可运行 Fair
Scheduler。
Capacity
Scheduler
集群由很多队列组成,类似于Fair Scheduler的任务池,这些队列可能是层次结构的,每个队列有一个分配能力。只不过在队列内部,作业根据FIFO(优先级)方式进行调度。
Fair
Scheduler vs Capacity Scheduler
(1) 相同点
均支持多用户多队列,即:适用于多用户共享集群的应用环境
单个队列均支持优先级和FIFO调度方式
均支持资源共享,即某个queue中的资源有剩余时,可共享给其他缺资源的queue
(2) 不同点
核心调度策略不同。 计算能力调度器的调度策略是,先选择资源利用率低的queue,然后在queue中同时考虑FIFO和memory constraint因素;而公平调度器仅考虑公平,而公平是通过作业缺额体现的,调度器每次选择缺额最大的job(queue的资源量,job优先级等仅用于计算作业缺额)。
内存约束。计算能力调度器调度job时会考虑作业的内存限制,为了满足某些特殊job的特殊内存需求,可能会为该job分配多个slot;而公平调度器对这种特殊的job无能为力,只能杀掉这种task。
相关文章推荐
- 一个MapReuce作业的从开始到结束--第6章Hadoop以Jar包的方式执行MapReduce任务
- Hadoop MapReduce执行框架作业调度方法 组件和执行流程
- hadoop job -kill 与 yarn application -kii(作业卡了或作业重复提交或MapReduce任务运行到running job卡住)
- hadoop作业调度详解之TaskTracker
- Hadoop:MapReduce作业配置与提交
- (大数据之MapReduce) Hadoop作业提交分析(四)
- 如果遇到Hadoop集群正常,MapReduce作业运行出现错误,如何来查看作业运行日志(图文详解)
- hadoop的mapreduce作业中经常出现Java heap space解决方案
- Hadoop之MapReduce调度:通过Python进行多日期多链接地址的串行跑批统计
- Hadoop MapReduce作业提交与初始化过程分析
- Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪
- Hadoop-2.2.0中国文档—— MapReduce 下一代 -- 公平调度
- hadoop MapReduce - 从作业、任务(task)、管理员角度调优
- 一个以可视化界面的方式管理与调度Hadoop的作业平台——Zeus
- hadoop MapReduce - 从作业、任务(task)、管理员角度调优
- Hadoop 实战之MapReduce链接作业之预处理
- skyFS-mapreduce0.5版作业调度分析
- 基于大数据开发套件定时调度带资源文件的MapReduce作业
- Hadoop基础教程-第6章 MapReduce入门(6.1 MapReduce介绍)(草稿)
- Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类