http://blog.sina.com.cn/s/blog_8d955f8c0101c7px.html
1:默认调度器 :FIFO
这个调度器的特点是先进先出,英文名是first in first out,所有任务提交到一个队列里面,然后由jobtracker按照作业的优先级高低及提交顺序 执行
HOD调度器: 此调度器的原理是一个hadoop物理机群中,分割出好多虚拟的hadoop集群,然后一个job跑一个虚拟机群
Capacity Scheduler(容量调度器)
Capacity调度器来自yahoo,它以队列为单位划分资源,每个队列可设定一定比例的资源最低保证和使用上限,同时,每个用户也可设定一定的资源使用上限以防止资源滥用,而当一个队列的资源有剩余时
可展示将剩余资源共享给其他队列,总之,capacity Scheduler主要有以下几个特点
1:容量保证:管理员可为每个队列设置资源最低保证和资源上限,而所有提交到该队列的作业共享这些资源
2:灵活性:如果一个队列中得资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的作业提交,则其他队列释放资源后会归还给该队列
3:多重租赁:支持多用户共享集群和多个作业同时运行,以防止单个作业,用户或者队列独占集群中得资源
4:支持支援密集型作业:当一个作业的单个任务需要的资源高于默认设置时,可同时为其分配多个slot,但需要注意的时,当前仅支持内存密集型作业(排序,过滤等归为内存密集型)
5:支持作业优先级:默认情况下,在每个队列中,空闲资源优先分配给最早提交的作业,但也可以让其支持作业优先级,但是需要注意的是
当前capacity还不支持资源抢占,也就说如果优先级高的作业提交时间晚于优先级低的作业,则高优先级作业需等待低优先级作业释放资源
Fair Scheduler(公平调度器)
Fair调度器来自facebook,它以资源池为单位划分资源,每个资源池可设定一定比例的资源最低保证和使用上限,同时,每个用户也可设定一定的资源使用上限以防止资源滥用,
当一个资源池的资源有剩余时,可暂时将剩余资源共享给其他资源池.
Fair调度器的特点
1:资源公平共享:在每个资源池中,Fair调度器可选择按照FIFO或者Fair策略为作业分配资源,fair策略是一种基于最大最小公平算法实现的资源多路复用方式,
在默认情况下,每个队列内部采用该方式分配资源,这也就意味着,如果一个队列中有2个作业同时运行,则每个作业可得到1/2资源,3个则为1/3
2:支持资源抢占,当某个资源池中有剩余资源时,调度器会将这些资源共享给其他资源池,而当该资源池中有新的作业提交时,调度器要为它回收资源,
为了尽可能降低不必要的资源浪费,调度器采用了先等待再强制回收的策略,如果等待一段时间后尚有未归还的资源,则会进行资源抢占,从那些超额使用资源
的队列中杀死一部分任务,进而释放资源
3:负载均衡:fair调度器提供了一个机遇任务数目的负载均衡机制,该机制尽可能将系统中得任务均匀分配到各个节点上,此外,用户也可以根据自己的需要设计负载均衡机制
4:任务延时调度:fair调度器提供了一种基于演示等待的调度机制以提高任务的数据本地性,该机制通过暂时减少个别作业的资源量而提高系统整体吞吐率
5:降低小作业调度延迟:由于采用了最大最小公平算法,小作业可以优先获取资源并运行完成
其他调度器的介绍
1:自适应调度器
自适应调度器是一种以用户期望运行时间为目标的调度器,该调度器根据每个作业会被分解成多个任务的事实,通过已经运行完成的任务的运行时间估算剩余任务的运行时间
进而使得该调度器能够根据作业的进度和剩余时间动态地为作业分配资源,以期望作业在规定的时间内运行完成
2:自学习调度器