Hadoop Capacity Scheduler配置使用记录

这里参考Capacity Scheduler Guide,结合自己的实践经验,对Capacity Scheduler的主要配置参数进行总结。以下标记为红色的部分大都是自己曾踩过坑的地方,希望能给大家带来帮助。

mapred.capacity-scheduler.queue.<queue-name>.capacity:设置调度器中各个queue的容量,这里指的是占用的集群的slots的百分比,需要注意的是,所有queue的该配置项加起来必须小于等于100,否则会导致JobTracker启动失败

mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity:设置调度器中各个queue最大可以占有的容量,默认为-1表示最大可以占有集群100%的资源,和设置为100的效果是一样的

mapred.capacity-scheduler.queue.<queue-name>.minimum-user-limit-percent:当queue中多个用户出现slots竞争的时候,限制每个用户的slots资源的百分比。举个例子,当minimum-user-limit-percent设置为25%时候,如果queue中有多余4个用户同时提交job,那么调度器保证每个用户占有的slots不超过queue中slots数的25%,默认为100表示不对用户作限制。

mapred.capacity-scheduler.queue.<queue-name>.user-limit-factor:设置queue中用户可占用queue容量的系数,默认为1表示,queue中每个用户最多只能占有queue的容量(即mapred.capacity-scheduler.queue.<queue-name>.capacity),因此,需要注意的是,如果queue中只有一个用户提交job,且希望用户在集群不繁忙时候可扩展到mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity指定的slots数,则必须相应调大user-limit-factor这个系数

mapred.capacity-scheduler.queue.<queue-name>.supports-priority:设置调度器中各个queue是否支持job优先级,不用过多解释。

mapred.capacity-scheduler.maximum-system-jobs:设置调度器中各个queue中合起来共计可初始化后并发执行的job数,需要注意的是,各个queue会按照自己占有集群slots资源的比例(即mapred.capacity-scheduler.queue.<queue-name>.capacity)决定每个queue最多同时并发执行的job数!举个例子,假设maximum-system-jobs为20个,而queue1占集群10%资源,那么意味着queue1最多可同时并发运行2个job,如果碰巧是运行时间比较长的job的话,将直接导致其他新提交的job被JobTracker阻塞不能进行初始化!

mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks:设置queue中所有并发运行job包含的task数的上限值,如果超过此限制,则新提交到该queue中的job会被排队缓存到磁盘上。

mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks-per-user:设置queue中每个特定用户并发运行job包含的task数的上限值,如果超过此限制,则该用户新提交到该queue中的job会被排队缓存到磁盘上。

mapred.capacity-scheduler.queue.<queue-name>.init-accept-jobs-factor:设置每个queue中可容纳接收的job总数(maximum-system-jobs * queue-capacity)的系数,举个例子,如果maximum-system-jobs为20,queue-capacity为10%,init-accept-jobs-factor为10,则当queue中job总数达到10*(20*10%)=20时,新的job将被JobTracker拒绝提交。

相关阅读:

Hadoop实战》中文版+英文文字版+源码【PDF】 http://www.linuxidc.com/Linux/2012-10/71901.htm

Hadoop: The Definitive Guide【PDF版】 http://www.linuxidc.com/Linux/2012-01/51182.htm

更多Hadoop相关信息见Hadoop 专题页面 

http://www.linuxidc.com/topicnews.aspx?tid=13


<?xml version="1.0"?>
<configuration>
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>default,low</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.capacity</name>
    <value>100</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.default.capacity</name>
    <value>80</value>
  </property>
<property>
 <name>yarn.scheduler.capacity.root.default.user-limit-factor</name>
<value>1.25</value>
</property>
 <property>
    <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
    <value>100</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.low.capacity</name>
<value>20</value>
</property>
<property>
 <name>yarn.scheduler.capacity.root.low.user-limit-factor</name>
<value>2</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low.maximum-capacity</name>
<value>40</value>
</property>
</configuration>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值