欢迎投稿

今日深度:

hadoop调度器,

hadoop调度器,


http://blog.sina.com.cn/s/blog_8d955f8c0101c7px.html

1:默认调度器 :FIFO 

这个调度器的特点是先进先出,英文名是first in first out,所有任务提交到一个队列里面,然后由jobtracker按照作业的优先级高低及提交顺序 执行
HOD调度器: 此调度器的原理是一个hadoop物理机群中,分割出好多虚拟的hadoop集群,然后一个job跑一个虚拟机群  完整地流程是:   1:用户想HOD调度器申请一个包含一定数目节点的集群,并要求该集群中运行一个hadoop实例   2:HOD客户端利用资源管理器接口qsub提交一个被成为RingMaster的进程作为Torque作业,同时申请一定数目的节点,这个作业就被提交到pbs_server上   3:在各个计算节点上,守护进程pbx_mom接受并处理pbc_server分配的作业,RingMaster进程在其中一个计算节点上开始运行   4:RingMaster通过Torque的另外一个接口pbsdsh在所有分配到得计算节点上运行第二个hod组件HodRing,即运行于各个计算节点上的分布式任务   5:HODRing初始化之后会于RingMaster通信以获取hadoop指令,并根据指令启动Hadoop服务进程,一旦服务进程开始启动,他们会向RingMaster登记,提供关于守护进程的信息   6:hadoop实例启动之后,用户可以向集群中提交mapreduce作业   7:如果一段时间内hadoop集群上没有作业运行,torque会回收该虚拟hadoop集群的资源     缺点1:从集群管理角度看,多个hadoop集群会给运维人员造成管理上的诸多不便   2:多个hadoop集群会造成集群整体利用率低下,造成复杂不均衡,比如一个集群非常忙碌,另外一个可能空闲   3:容易丢失数据,为了解决丢失数据的问题,一种更好地方法是在整个集群中只保留一个hadoop实例,而通过hadoop调度器将整个集群中得资源划分成多个队列,并让这些队列共享所有节点上得资源   当前yahoo 的 capacity Scheduler和FaceBook的fair Scheduler正是采用了这个设计思路 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:自学习调度器

www.htsjk.Com true http://www.htsjk.com/Hadoop/41706.html NewsArticle hadoop调度器, http://blog.sina.com.cn/s/blog_8d955f8c0101c7px.html 1 :默认调度器 :FIFO  这个调度器的特点是先进先出,英文名是first in first out,所有任务提交到一个队列里面,然后由jobtracker按照作业的...
相关文章
    暂无相关文章
评论暂时关闭