赞
踩
概述
Hadoop中常见的调度器有三种,分别为:
FIFO调度器、公平调度器Fair Scheduler、容量调度器Capacity Scheduler(计算能力调度器)
它的作用是将系统中空闲的资源按一定策略分配给作业。在Hadoop中,调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。
基本作用和调度器考虑因素
Hadoop调度器的基本作用就是根据节点资源(slot)使用情况和作业的要求,将任务调度到各个节点上执行。
考虑因素:
作业优先级。作业的优先级越高,它能够获取的资源(slot数目)也越多。Hadoop 提供了5种作业优先级,分别为 VERY_HIGH、HIGH、NORMAL、 LOW、VERY_LOW,通过mapreduce.job.priority属性来设置。
作业提交时间。顾名思义,作业提交的时间越早,就越先执行。
作业所在队列的资源限制。调度器可以分为多个队列,不同的产品线放到不同的队列里运行。不同的队列可以设置一个边缘限制,这样不同的队列有自己独立的资源,不会出现抢占和滥用资源的情况。
默认FIFO调度器
FIFO是Hadoop中默认的调度器,也是一种批处理调度器。它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。
比如,一个 TaskTracker 正好有一个空闲的 slot,此时 FIFO 调度器的队列已经排好序,就选择排在最前面的任务 job1,job1 包含很多 map task和reduce task。假如空闲资源是 map slot,我们就选择 job1 中的 map task。假如 map task0 要处理的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。