MapReduce中作业调度器
来源:互联网 发布:淘宝标题优化时间 编辑:程序博客网 时间:2024/04/29 17:01
Hadoop中作业调度器有三种,分别是先进先出调度器(FIFO)、公平调度器(Fair Scheduler)、容量调度器(Capacity Scheduler),默认是FIFO调度器。
先进先出调度器(FIFO)
按照作业提交的顺序运行作业,每个作业都会使用整个集群,因此作业必须等待直到轮到自己运行。这时,如果共享集群资源就有可能为多用户提供大量的资源,但是又如何分配资源以达到最后情况呢。这时候出现了设置作业优先级功能,可以通过mapreduce.job.priority属性或者Job的setJobPrioity()来设置优先级,可选择的有:VERY_HIGH,HIGH,NORMAL,LOW,VERY_LOW。但是在FIFO中设置作业优先级,没有作用,因为他不支持抢占,所以高优先级的作业还是要依赖先进入队列的低优先级作作业执行完毕后执行。
公平调度器(Fair Scheduler)
公平调度器目标是让每个用户公平共享集群的能力。如果只有一个作业,则这个作业会的到集群中所有的资源,随着作业数的增多,在MR1中闲置的任务槽会以"每个用户公平共享集群"这种方式分配。默认请款下每个用户都有自己的作业池,但不会因为作业数多就得到更多的资源(所以,他是以用户级别为单位进行资源分配的)。公平调度器支持抢占式机制,如果一个作业池一段时间未能公平共享集群资源,就会终止运行池中得到过多的资源的任务,把空任务槽给运行资源不够的作业池。
在使用公平调度器时,要将其放到hadoop类路径下,即lib目录下。然后设置mapreduce.jobtracker.taskshceduler属性为:org.apache.hadoop.mapreduce.FariScheduler。如果需要充分发挥其优势需要读取官方文档
容量调度器(Capacity Scheduler)
集群由多队列组成,这些队列可能是层次结构的,为每个队列分配一定的容量。在每个队列内部,根据FIFO方式进行调度。容量调度器允许用户或组织模拟出一个使用FIFO调度策略的独立MapReduce集群。
- MapReduce中作业调度器
- MapReduce作业的调度
- MapReduce作业内调度研究
- 笔记:MapReduce作业调度运行对比
- Yarn源码分析之MapReduce作业中任务Task调度整体流程(一)
- 作业调度器
- Quartz 作业调度器
- Hadoop作业调度器
- spring中集成作业调度
- MapReduce调度与执行原理之作业提交
- MapReduce调度与执行原理之作业初始化
- 第6章MapReduce--Hadoop作业的调度
- hadoop 作业调度器算法
- JavaScript 批处理系统中作业调度【操作系统】
- 操作系统中作业调度算法总结
- Java程序中作业调度-Quartz
- Android 5.0中使用JobScheduler 调度作业
- 作业调度
- 通过银行卡号解析银行名称和卡别
- C++ Primer学习5:vector使用下标操作元素注意
- 【主席树】 SPOJ Count on a tree
- 使用Log4j来记录日志-PatternLayout和格式修饰符
- 【Selenium】PARTI selenium IDE
- MapReduce中作业调度器
- Android Material Design 5.0 PickerDialog
- 合体冰冰及文字水印
- git常见问题处理
- 代理模式与动态代理模式
- C++ Primer学习6:const指针 和 指针与const限定符区别
- wget下载深圳大学毕业生照片
- iOS网络篇---使用NSConnection 实现post和get发送和接收(同步和异步模式)
- java对象与json对象间的相互转换