From 2690c7252216f236bcc6e0a170a57ee52a2ffb4a Mon Sep 17 00:00:00 2001 From: Jian He Date: Tue, 10 Mar 2015 10:54:08 -0700 Subject: [PATCH] YARN-3187. Documentation of Capacity Scheduler Queue mapping based on user or group. Contributed by Gururaj Shetty (cherry picked from commit a380643d2044a4974e379965f65066df2055d003) --- hadoop-yarn-project/CHANGES.txt | 3 +++ .../src/site/markdown/CapacityScheduler.md | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 52667f1f342..41677033560 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -339,6 +339,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 diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md index 3c32cddde14..1cb963e8737 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md +++ b/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: + +``` + + yarn.scheduler.capacity.queue-mappings + u:user1:queue1,g:group1:queue2,u:%user:%user,u:user2:%primary_group + + Here, is mapped to , is mapped to , + maps users to queues with the same name as user, is mapped + to queue name same as respectively. The mappings will be + evaluated from left to right, and the first valid mapping will be used. + + +``` + ###Other Properties * Resource Calculator