Yarn容量调度器设置

1)增加hive队列

默认Yarn的配置下,容量调度器只有一条Default队列。在capacity-scheduler.xml中可以配置多条队列,修改以下属性,增加hive队列。

<property>

    <name>yarn.scheduler.capacity.root.queues</name>

    <value>default,hive</value>

    <description>

      The queues at the this level (root is the root queue).

    </description>

</property>

<property>

    <name>yarn.scheduler.capacity.root.default.capacity</name>

<value>50</value>

    <description>

      default队列的容量为50%

    </description>

</property>

同时为新加队列添加必要属性:

<property>

    <name>yarn.scheduler.capacity.root.hive.capacity</name>

<value>50</value>

    <description>

      hive队列的容量为50%

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.user-limit-factor</name>

<value>1</value>

    <description>

      一个用户最多能够获取该队列资源容量的比例

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.maximum-capacity</name>

<value>80</value>

    <description>

      hive队列的最大容量

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.state</name>

    <value>RUNNING</value>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.acl_submit_applications</name>

<value>*</value>

    <description>

      访问控制,控制谁可以将任务提交到该队列

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.acl_administer_queue</name>

<value>*</value>

    <description>

      访问控制,控制谁可以管理(包括提交和取消)该队列的任务

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.acl_application_max_priority</name>

<value>*</value>

<description>

      访问控制,控制用户可以提交到该队列的任务的最大优先级

    </description>

</property>



<property>

    <name>yarn.scheduler.capacity.root.hive.maximum-application-lifetime</name>

<value>-1</value>

    <description>

      hive队列中任务的最大生命时长

</description>

</property>

<property>

    <name>yarn.scheduler.capacity.root.hive.default-application-lifetime</name>

<value>-1</value>

    <description>

      default队列中任务的最大生命时长

</description>

</property>

2)配置hive客户端任务提交到hive队列

为方便后续hive客户端的测试和shell脚本中的任务能同时执行,我们将hive客户端的测试任务提交到hive队列,让shell脚本中的任务使用默认值,提交到default队列。

每次进入hive客户端时,执行以下命令

hive (default)> set mapreduce.job.queuename=hive;

 


版权声明:本文为zcb_data原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。