|
@@ -69,6 +69,8 @@ The `CapacityScheduler` supports the following features:
|
|
|
|
|
|
* **Resource-based Scheduling** - Support for resource-intensive applications, where-in a application can optionally specify higher resource-requirements than the default, there-by accomodating applications with differing resource requirements. Currently, *memory* is the the resource requirement supported.
|
|
|
|
|
|
+* **Queue Mapping based on User or Group** - This feature allows users to map a job to a specific queue based on the user or group.
|
|
|
+
|
|
|
Configuration
|
|
|
-------------
|
|
|
|
|
@@ -151,6 +153,30 @@ Configuration
|
|
|
|
|
|
**Note:** An *ACL* is of the form *user1*, *user2spacegroup1*, *group2*. The special value of * implies *anyone*. The special value of *space* implies *no one*. The default is * for the root queue if not specified.
|
|
|
|
|
|
+ * Queue Mapping based on User or Group
|
|
|
+
|
|
|
+ The `CapacityScheduler` supports the following parameters to configure the queue mapping based on user or group:
|
|
|
+
|
|
|
+| Property | Description |
|
|
|
+|:---- |:---- |
|
|
|
+| `yarn.scheduler.capacity.queue-mappings` | This configuration specifies the mapping of user or group to aspecific queue. You can map a single user or a list of users to queues. Syntax: `[u or g]:[name]:[queue_name][,next_mapping]*`. Here, *u or g* indicates whether the mapping is for a user or group. The value is *u* for user and *g* for group. *name* indicates the user name or group name. To specify the user who has submitted the application, %user can be used. *queue_name* indicates the queue name for which the application has to be mapped. To specify queue name same as user name, *%user* can be used. To specify queue name same as the name of the primary group for which the user belongs to, *%primary_group* can be used.|
|
|
|
+| `yarn.scheduler.capacity.queue-mappings-override.enable` | This function is used to specify whether the user specified queues can be overridden. This is a Boolean value and the default value is *false*. |
|
|
|
+
|
|
|
+Example:
|
|
|
+
|
|
|
+```
|
|
|
+ <property>
|
|
|
+ <name>yarn.scheduler.capacity.queue-mappings</name>
|
|
|
+ <value>u:user1:queue1,g:group1:queue2,u:%user:%user,u:user2:%primary_group</value>
|
|
|
+ <description>
|
|
|
+ Here, <user1> is mapped to <queue1>, <group1> is mapped to <queue2>,
|
|
|
+ maps users to queues with the same name as user, <user2> is mapped
|
|
|
+ to queue name same as <primary group> respectively. The mappings will be
|
|
|
+ evaluated from left to right, and the first valid mapping will be used.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+```
|
|
|
+
|
|
|
###Other Properties
|
|
|
|
|
|
* Resource Calculator
|