zoukankan      html  css  js  c++  java
  • hadoop中如何动态更新集群队列和容量

    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管理控制台可以看到结果。

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



  • 相关阅读:
    cf914D. Bash and a Tough Math Puzzle(线段树)
    RNQOJ [stupid]愚蠢的矿工(树形依赖背包)
    BZOJ4552: [Tjoi2016&Heoi2016]排序(线段树 二分)
    多项式系数学习笔记
    BZOJ4653: [Noi2016]区间(线段树 双指针)
    洛谷P3372 【模板】线段树 1(树状数组)
    BZOJ3261: 最大异或和(可持久化trie树)
    BZOJ4260: Codechef REBXOR (01Tire树)
    Android 关于显示键盘,布局错乱网上顶的问题
    Java 输入流读取文本文件换行符问题
  • 原文地址:https://www.cnblogs.com/justinyang/p/8867106.html
Copyright © 2011-2022 走看看