hadoop中如何动态更新集群队列和容量

本文介绍如何在Hadoop集群中配置容量调度器以平衡不同业务部门的资源需求。通过修改mapred-site.xml和capacity-scheduler.xml文件实现队列及容量的设定,并提供动态更新配置的方法。

1.集群默认是FIFO容量调度器,有的时候不同的业务部门都需要使用hadoop集群,那么这时候就需要来设置容量调度器了,如何平衡各个部门的容量.合理利用资源?

首先配置调度器需要在修改两个配置文件,分别是mapred-site.xml.里面主要有两个参数,其中第二个mapred.queue.names就是用来添加业务部门,比如有hive  hbase等 就添加进去,用逗号隔开

<property> 

<name>mapred.jobtracker.taskScheduler</name> 
  <value>org.apache.hadoop.mapred.CapacityTaskScheduler</value> 
</property> 
<property> 
  <name>mapred.queue.names</name> 
  <value>default</value> 
</property>

其次capacity-scheduler.xml文件中添加对应的配置和权限
属性mapred.capacity-scheduler.queue.hive.capacity的value决定了队列的容量比值
 
<property>
    <name>mapred.capacity-scheduler.queue.hive.capacity</name>
    <value>40</value>
    <description>Percentage of the number of slots in the cluster that are
      to be available for jobs in this queue.
    </description>    
  </property>
  
  <property>
    <name>mapred.capacity-scheduler.queue.hive.maximum-capacity</name>
    <value>-1</value>
    <description>
    </description>    
  </property>
  
  <property>
    <name>mapred.capacity-scheduler.queue.hive.supports-priority</name>
    <value>true</value>
    <description></description>
  </property>
  
    <property>
    <name>mapred.capacity-scheduler.queue.hive.minimum-user-limit-percent</name>
    <value>100</value>
    <description> </description>
  </property>

  <property>
    <name>mapred.capacity-scheduler.queue.hive.user-limit-factor</name>
    <value>3</value>
    <description></description>
  </property>

  <property>
    <name>mapred.capacity-scheduler.queue.hive.maximum-initialized-active-tasks</name>
    <value>200000</value>
    <description></description>
  </property>

  <property>
    <name>mapred.capacity-scheduler.queue.hive.maximum-initialized-active-tasks-per-user</name>
    <value>100000</value>
    <description></description>
  </property>
  
  <property>
    <name>mapred.capacity-scheduler.queue.hive.init-accept-jobs-factor</name>
    <value>10</value>
    <description></description>
  </property>
那么如何动态的更新集群的动态和容量呢?

1.主节点修改好mapred-site.xml和capacity-scheduler.xml

2.把配置同步到所有节点上

3.使用hadoop用户执行命令:hadoop mradmin -refreshQueues

这样就可以不重启并且动态修改集群的队列及其容量配置.刷新mapreduce的web管理控制台可以看到结果。

注意:如果配置没有同步到所有的节点,一些队列会无法启用。



转载于:https://www.cnblogs.com/justinyang/p/8867106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值