MapReduce中的做业调度

       MapReduce是hadoop提供一个可进行分布式计算的框架或者平台,显然这个平台是多用户的,每一个合法的用户能够向这个平台提交做业,那么这就带来一个问题,就是做业调度。框架

      任何调度策略都考虑本身平台调度须要权衡的几个维度,例如操做系统中的进程调度,他须要考虑的维度就是资源(CPU)的最大利用率(吞吐)和实时性,操做系统对实时性的要求很高,因此操做系统每每采用基于优先级的、可抢占式的调度策略,而且赋予IO密集型(相对于计算密集型)的进程较高的优先级,扯的有点远。分布式

      回到hadoop平台,其实MapReduce的做业调度并无很高的实时性的要求,本着最大吞吐的原则去设计的,因此MapReduce默认采用的调度策略是FIFO(基于优先级队列实现的FIFO,不是纯粹的FIFO,这样每次h),这种策略显然不是可抢占式的调度,因此带来的问题就是高优先级的任务会被先前已经在运行而且还要运行好久的低优先级的做业给堵塞住。oop

      别的选择:Fair Scheduler 和 Capacity Scheduler操作系统

      未完待续~设计

相关文章
相关标签/搜索