MapReduce作业的调度

                                                                     MapReduce作业的调度
历史发展:
①按照作业的提交顺序执行,即先进先出(FIFO)调度算法来运行作业;
存在的问题,一些阻塞型任务会持续占有资源,使得任务无法进行。可以类似单线程相对于多线程存在的阻塞问题。
②作业优先级调度算法
存在的问题:优先级不支持抢占,仍然存在上一个算法的阻塞问题;
③MapReduce的调度器;
当前的使用的默认作业调度算法,多用户的调度器,分别为公平调度器和容量调度器。
Ⅰ公平调度器(可以同时运行几个任务):
目标就是让每个用户公平共享集群;
当只有一个任务时,这个任务就会占有集群全部的资源。新增加一个任务时,会分配时间片来执行此任务。每个任务占有一半的集群资源。每增加一个任务,就会重新分配集群资源。这个特性让小作业在合理的时间内完成的同时又不“饿”到消耗较长时间的大作业。
改进点1:可以用map和reduce的任务槽数来定制作业池的最小容量,也可以设置每个池的权重
改进点2:支持抢占机制;如果一个池在特定的时间内未能完成公平资源的共享,就会终止占有大量的作业任务,把资源分配到占有资源较小的作业任务。
Ⅱ容量调度器
采用的机制:集群有多个队列组成,在每个队列内部,作业根据FIFO(依靠优先级决定)进行调度
本质上:容量调度器允许用户或组织为每个用户或组织模拟出一个FIFO调度策略的独立MapReduce集群。
---------------------
作者:heishu007 (自己的CSDN
来源:CSDN
原文:https://blog.csdn.net/heishu007/article/details/70272183

posted @ 2018-11-04 17:16  上海小墨子  阅读(737)  评论(0编辑  收藏  举报