blob: 21b89191131bf99970a8bb5ad91b5f2362ff4a3b [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
This is the template for queue configuration when the configured
scheduler to use is capacity-scheduler
(org.apache.hadoop.mapred.CapacityTaskScheduler). To use this,
copy this file into conf directory renaming it to mapred-queues.xml.
-->
<queues aclsEnabled="false">
<queue>
<name>default</name>
<state>running</state>
<acl-submit-job>*</acl-submit-job>
<acl-administer-jobs>*</acl-administer-jobs>
<properties>
<property key="capacity" value="100">
<!--
<description>
For a root-level container queue, this is the percentage of the
number of slots in the cluster that will be available for all its
immediate children together. For a root-level leaf-queue, this is
the percentage of the number of slots in the cluster that will be
available for all its jobs. For a non-root level container queue,
this is the percentage of the number of slots in its parent queue
that will be available for all its children together. For a
non-root-level leaf queue, this is the percentage of the number of
slots in its parent queue that will be available for jobs in this
queue. The sum of capacities for all children of a container queue
should be less than or equal 100. The sum of capacities of all the
root-level queues should be less than or equal to 100.
This property can be refreshed.
</description>
-->
</property>
<property key="maximum-capacity" value="-1">
<!--
<description>
A limit in percentage beyond which a non-root-level queue cannot use
the capacity of its parent queue; for a root-level queue, this is
the limit in percentage beyond which it cannot use the
cluster-capacity. This property provides a means to limit how much
excess capacity a queue can use. It can be used to prevent queues
with long running jobs from occupying more than a certain percentage
of the parent-queue or the cluster, which, in the absence of
pre-emption, can lead to capacity guarantees of other queues getting
affected.
The maximum-capacity of a queue can only be greater than or equal to
its capacity. By default, there is no limit for a queue. For a
non-root-level queue this means it can occupy till the
maximum-capacity of its parent, for a root-level queue, it means that
it can occupy the whole cluster. A value of 100 implies that a queue
can use the complete capacity of its parent, or the complete
cluster-capacity in case of root-level-queues.
This property can be refreshed.
</description>
-->
</property>
<property key="supports-priority" value="false">
<!--
<description>This is only applicable to leaf queues. If true,
priorities of jobs will be taken into account in scheduling
decisions.
This property CANNOT be refreshed.
</description>
-->
</property>
<property key="minimum-user-limit-percent" value="100">
<!--
<description>This is only applicable to leaf queues. Each queue
enforces a limit on the percentage of resources allocated to a user at
any given time, if there is competition for them. This user limit can
vary between a minimum and maximum value. The former depends on the
number of users who have submitted jobs, and the latter is set to this
property value. For example, suppose the value of this property is 25.
If two users have submitted jobs to a queue, no single user can use
more than 50% of the queue resources. If a third user submits a job,
no single user can use more than 33% of the queue resources. With 4
or more users, no user can use more than 25% of the queue's resources.
A value of 100 implies no user limits are imposed.
This property can be refreshed.
</description>
-->
</property>
<property key="maximum-initialized-jobs-per-user" value="2">
<!--
<description>This is only applicable to leaf queues. The maximum number
of jobs to be pre-initialized for a user of the job queue.
This property can be refreshed.
</description>
-->
</property>
</properties>
</queue>
<!-- Here is a sample of a hierarchical queue configuration
where q2 and q3 are children of q1 sharing the capacity
of q1. In this example, q2 and q3 are leaf level
queues as it has no queues configured within it. Currently, ACLs
and state are only supported for the leaf level queues.
<queue>
<name>q1</name>
<properties>
<property key="capacity" value="100"/>
</properties>
<queue>
<name>q2</name>
<state>stopped</state>
<acl-submit-job>*</acl-submit-job>
<acl-administer-jobs>*</acl-administer-jobs>
<properties>
<property key="capacity" value="50"/>
<property key="maximum-capacity" value="60"/>
<property key="supports-priority" value="false"/>
<property key="minimum-user-limit-percent" value="100"/>
<property key="maximum-initialized-jobs-per-user" value="2"/>
</properties>
</queue>
<queue>
<name>q3</name>
<state>stopped</state>
<acl-submit-job>*</acl-submit-job>
<acl-administer-jobs>*</acl-administer-jobs>
<properties>
<property key="capacity" value="50"/>
<property key="maximum-capacity" value="-1"/>
<property key="supports-priority" value="false"/>
<property key="minimum-user-limit-percent" value="100"/>
<property key="maximum-initialized-jobs-per-user" value="2"/>
</properties>
</queue>
</queue>
-->
</queues>