1 hadoop目前支持以下三种调度器:
FifoScheduler:最简单的调度器,按照先进先出的方式处理应用。只有一个队列可提交应用,所有用户提交到这个队列。没有应用优先级可以配置。
CapacityScheduler:可以看作是FifoScheduler的多队列版本。每个队列可以限制资源使用量。但是,队列间的资源分配以使用量作排列依据,使得容量小的队列有竞争优势。集群整体吞吐较大。延迟调度机制使得应用可以放弃跨机器或者跨机架的调度机会,争取本地调度。
详情见官网 http://hadoop.apache.org/docs/r1.2.1/capacity_scheduler.html
FairScheduler:多队列,多用户共享资源。特有的客户端创建队列的特性,使得权限控制不太完美。根据队列设定的最小共享量或者权重等参数,按比例共享资源。延迟调度机制跟CapacityScheduler的目的类似,但是实现方式稍有不同。资源抢占特性,是指调度器能够依据公平资源共享算法,计算每个队列应得的资源,将超额资源的队列的部分容器释放掉的特性。
详情见官网 http://hadoop.apache.org/docs/r1.2.1/fair_scheduler.html
2 比较:
3 配置FairScheduler
修改mapred-site.xml,然后重启集群更多配置见conf/fair-scheduler.xml
4 配置CapacityScheduler
修改mapred-site.xml,然后重启集群
更多配置见conf/capacity-scheduler.xml