YARN--CapacityScheduler 多用户资源隔离

  • 前提

    • 采用Cloudera Manager管理集群
    • yarn.resourcemanager.scheduler.class 选择CapacityScheduler
  • 配置截图
    这里写图片描述

  • 配置

<configuration>
    <!-- root队列下default、hive两个队列 -->
    <property>
        <name>yarn.scheduler.capacity.root.queues</name>
        <value>default,hive</value>
        <description>root队列的所有子队列</description>
    </property>

    <!-- default队列配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.default.capacity</name>
        <value>50</value>
        <description>队列的资源容量</description>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
        <value>100</value>
        <description>队列的最大资源容量</description>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.state</name>
        <value>RUNNING</value>
        <description>队列的运行状态</description>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.acl_submit_applications</name>
        <value>*</value>
        <description>限制哪些用户可向default队列中提交应用程序</description>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.default.acl_administer_queue</name>
        <value>*</value>
        <description>限制哪些用户可管理default队列中的应用程序,*表示任意用户</description>
    </property>

    <!-- hive队列配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.hive.queues</name>
        <value>root.users.prod,root.users.hdfs,root.users.operation</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.hive.capacity</name>
        <value>50</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.root.hive.maximum-capacity</name>
        <value>80</value>
    </property>

    <!-- hive队列的子队列root.users.prod配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.hive.root.users.prod.capacity</name>
        <value>40</value>
    </property>
    <!-- hive队列的子队列root.users.operation配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.hive.root.users.operation.capacity</name>
        <value>40</value>
    </property>
    <!-- hive队列的子队列root.users.hdfs配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.hive.root.users.hdfs.capacity</name>
        <value>20</value>
    </property>
</configuration>
  • 问题

    • hive中账户与capacity中分配队列不匹配?
    hive某个*账户下默认使用root.users.*队列,举例:prod账户使用root.users.prod队列,顾配置子队列名称时使用root.users.prod而不是prod
  • 异常
org.apache.hadoop.yarn.exceptions.YarnException: Failed to submit application_1530153278436_0016 to YARN : Application application_1530153278436_0016 submitted by user hive to unknown queue: root.users.prod

此问题解决方式和前面说明的队列不匹配问题一样

注:有关数据仓库等问题,有兴趣的同学可以联系我。TEL/微信:18310801089

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值