Browse Source

YARN-3187. Documentation of Capacity Scheduler Queue mapping based on user or group. Contributed by Gururaj Shetty
(cherry picked from commit a380643d2044a4974e379965f65066df2055d003)

Jian He 10 năm trước cách đây
mục cha
commit
8c5642296d

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -327,6 +327,9 @@ Release 2.7.0 - UNRELEASED
     YARN-3296. Mark ResourceCalculatorProcessTree class as Public for configurable
     resource monitoring. (Hitesh Shah via junping_du)
 
+    YARN-3187. Documentation of Capacity Scheduler Queue mapping based on user
+    or group. (Gururaj Shetty via jianhe)
+
   OPTIMIZATIONS
 
     YARN-2990. FairScheduler's delay-scheduling always waits for node-local and 

+ 26 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md

@@ -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