diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 5af44ac80dd..69e89df1ea1 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -680,6 +680,9 @@ public static boolean isAclEnabled(Configuration conf) { YARN_PREFIX + "scheduler.configuration.store.class"; @Private @Unstable + public static final String FILE_CONFIGURATION_STORE = "file"; + @Private + @Unstable public static final String MEMORY_CONFIGURATION_STORE = "memory"; @Private @Unstable @@ -690,7 +693,7 @@ public static boolean isAclEnabled(Configuration conf) { @Private @Unstable public static final String DEFAULT_CONFIGURATION_STORE = - MEMORY_CONFIGURATION_STORE; + FILE_CONFIGURATION_STORE; @Private @Unstable public static final String RM_SCHEDCONF_STORE_PATH = YARN_PREFIX diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/QueueConfigInfo.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/QueueConfigInfo.java index d1d91c2be0c..6d4e0cfa755 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/QueueConfigInfo.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/QueueConfigInfo.java @@ -34,7 +34,7 @@ @XmlAccessorType(XmlAccessType.FIELD) public class QueueConfigInfo { - @XmlElement(name = "queueName") + @XmlElement(name = "queue-name") private String queue; private HashMap params = new HashMap<>(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/SchedConfUpdateInfo.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/SchedConfUpdateInfo.java index bb84096a545..45462919ed1 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/SchedConfUpdateInfo.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/dao/SchedConfUpdateInfo.java @@ -31,7 +31,7 @@ * Information for making scheduler configuration changes (supports adding, * removing, or updating a queue, as well as global scheduler conf changes). */ -@XmlRootElement(name = "schedConf") +@XmlRootElement(name = "sched-conf") @XmlAccessorType(XmlAccessType.FIELD) public class SchedConfUpdateInfo { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index 617c0347a56..985463d1660 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -3369,16 +3369,17 @@ - The type of configuration store to use for storing scheduler - configurations, if using a mutable configuration provider. - Keywords such as "memory" map to certain configuration store - implementations. If keyword is not found, try to load this - value as a class. Note: this configuration is only useful when using a - scheduler which supports mutable configuration. Currently only capacity - scheduler supports this. + The type of configuration store to use for scheduler configurations. + Default is "file", which uses file based capacity-scheduler.xml to + retrieve and change scheduler configuration. To enable API based + scheduler configuration, use either "memory" (in memory storage, no + persistence across restarts), "leveldb" (leveldb based storage), or + "zk" (zookeeper based storage). API based configuration is only useful + when using a scheduler which supports mutable configuration. Currently + only capacity scheduler supports this. yarn.scheduler.configuration.store.class - memory + file diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index de951795eb0..d91aa55a487 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -296,18 +296,20 @@ void initScheduler(Configuration configuration) throws try { writeLock.lock(); String confProviderStr = configuration.get( - CapacitySchedulerConfiguration.CS_CONF_PROVIDER, - CapacitySchedulerConfiguration.DEFAULT_CS_CONF_PROVIDER); + YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, + YarnConfiguration.DEFAULT_CONFIGURATION_STORE); switch (confProviderStr) { - case CapacitySchedulerConfiguration.FILE_CS_CONF_PROVIDER: + case YarnConfiguration.FILE_CONFIGURATION_STORE: this.csConfProvider = new FileBasedCSConfigurationProvider(rmContext); break; - case CapacitySchedulerConfiguration.STORE_CS_CONF_PROVIDER: + case YarnConfiguration.MEMORY_CONFIGURATION_STORE: + case YarnConfiguration.LEVELDB_CONFIGURATION_STORE: + case YarnConfiguration.ZK_CONFIGURATION_STORE: this.csConfProvider = new MutableCSConfigurationProvider(rmContext); break; default: - throw new IOException("Invalid CS configuration provider: " + + throw new IOException("Invalid configuration store class: " + confProviderStr); } this.csConfProvider.init(configuration); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java index 40cb893b6d3..3a519ecf5f1 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java @@ -315,18 +315,6 @@ @Private public static final int DEFAULT_MAX_ASSIGN_PER_HEARTBEAT = -1; - - public static final String CS_CONF_PROVIDER = PREFIX - + "configuration.provider"; - - @Private - public static final String FILE_CS_CONF_PROVIDER = "file"; - - @Private - public static final String STORE_CS_CONF_PROVIDER = "store"; - - @Private - public static final String DEFAULT_CS_CONF_PROVIDER = FILE_CS_CONF_PROVIDER; AppPriorityACLConfigurationParser priorityACLConfig = new AppPriorityACLConfigurationParser(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/MutableCSConfigurationProvider.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/MutableCSConfigurationProvider.java index ccadf76f950..40a19a42791 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/MutableCSConfigurationProvider.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/MutableCSConfigurationProvider.java @@ -66,7 +66,7 @@ public MutableCSConfigurationProvider(RMContext rmContext) { public void init(Configuration config) throws IOException { String store = config.get( YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, - YarnConfiguration.DEFAULT_CONFIGURATION_STORE); + YarnConfiguration.MEMORY_CONFIGURATION_STORE); switch (store) { case YarnConfiguration.MEMORY_CONFIGURATION_STORE: this.confStore = new InMemoryConfigurationStore(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java index 620ca58a77c..03fc0813335 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java @@ -199,8 +199,8 @@ public void testAdminRefreshQueuesWithFileSystemBasedConfigurationProvider() @Test public void testAdminRefreshQueuesWithMutableSchedulerConfiguration() { - configuration.set(CapacitySchedulerConfiguration.CS_CONF_PROVIDER, - CapacitySchedulerConfiguration.STORE_CS_CONF_PROVIDER); + configuration.set(YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, + YarnConfiguration.MEMORY_CONFIGURATION_STORE); try { rm = new MockRM(configuration); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestLeveldbConfigurationStore.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestLeveldbConfigurationStore.java index 779208a3fb2..324cbee0cf2 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestLeveldbConfigurationStore.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestLeveldbConfigurationStore.java @@ -59,8 +59,6 @@ public void setUp() throws Exception { super.setUp(); FileUtil.fullyDelete(TEST_DIR); - conf.set(CapacitySchedulerConfiguration.CS_CONF_PROVIDER, - CapacitySchedulerConfiguration.STORE_CS_CONF_PROVIDER); conf.set(YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, YarnConfiguration.LEVELDB_CONFIGURATION_STORE); conf.set(YarnConfiguration.RM_SCHEDCONF_STORE_PATH, TEST_DIR.toString()); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestMutableCSConfigurationProvider.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestMutableCSConfigurationProvider.java index 9b080cd1e2d..5d43ebbf2ac 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestMutableCSConfigurationProvider.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestMutableCSConfigurationProvider.java @@ -20,6 +20,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.AdminService; import org.apache.hadoop.yarn.server.resourcemanager.RMContext; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler; @@ -80,6 +81,8 @@ public void setUp() { @Test public void testInMemoryBackedProvider() throws Exception { Configuration conf = new Configuration(); + conf.set(YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, + YarnConfiguration.MEMORY_CONFIGURATION_STORE); confProvider.init(conf); assertNull(confProvider.loadConfiguration(conf) .get("yarn.scheduler.capacity.root.a.goodKey")); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestZKConfigurationStore.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestZKConfigurationStore.java index 3cfa8da8047..355f7418038 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestZKConfigurationStore.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestZKConfigurationStore.java @@ -199,8 +199,6 @@ public Configuration createRMHAConf(String rmIds, String rmId, conf.setBoolean(YarnConfiguration.RM_HA_ENABLED, true); conf.set(YarnConfiguration.RM_HA_IDS, rmIds); conf.setBoolean(YarnConfiguration.RECOVERY_ENABLED, true); - conf.set(CapacitySchedulerConfiguration.CS_CONF_PROVIDER, - CapacitySchedulerConfiguration.STORE_CS_CONF_PROVIDER); conf.set(YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, YarnConfiguration.ZK_CONFIGURATION_STORE); conf.set(YarnConfiguration.RM_STORE, ZKRMStateStore.class.getName()); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java index 808d7817e64..3d28f128173 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java @@ -88,8 +88,8 @@ protected void configureServlets() { conf = new YarnConfiguration(); conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class, ResourceScheduler.class); - conf.set(CapacitySchedulerConfiguration.CS_CONF_PROVIDER, - CapacitySchedulerConfiguration.STORE_CS_CONF_PROVIDER); + conf.set(YarnConfiguration.SCHEDULER_CONFIGURATION_STORE_CLASS, + YarnConfiguration.MEMORY_CONFIGURATION_STORE); conf.set(YarnConfiguration.YARN_ADMIN_ACL, userName); try { if (CONF_FILE.exists()) { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md index 45fa2ed9ea8..17a6ab9152b 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md @@ -295,7 +295,7 @@ The `ReservationSystem` is integrated with the `CapacityScheduler` queue hierach Changing Queue Configuration ---------------------------- -Changing queue/scheduler properties and adding/removing queues can be done in two ways, via file or via API. +Changing queue/scheduler properties and adding/removing queues can be done in two ways, via file or via API. This behavior can be changed via `yarn.scheduler.configuration.store.class` in yarn-site.xml. Possible values are *file*, which allows modifying properties via file; *memory*, which allows modifying properties via API, but does not persist changes across restart; *leveldb*, which allows modifying properties via API and stores changes in leveldb backing store; and *zk*, which allows modifying properties via API and stores changes in zookeeper backing store. The default value is *file*. ### Changing queue configuration via file @@ -308,16 +308,17 @@ Changing queue/scheduler properties and adding/removing queues can be done in tw Editing by API uses a backing store for the scheduler configuration. To enable this, the following parameters can be configured in yarn-site.xml. + **Note:** This feature is in alpha phase and is subject to change. + | Property | Description | |:---- |:---- | - | `yarn.scheduler.capacity.configuration.provider` | The type of configuration provider to use for capacity scheduler. To enable changing queue configuration via API, this should be set to *store*. Default value is *file*, which disables the API and reverts back to changing queue configuration via file. | - | `yarn.scheduler.configuration.store.class` | The type of backing store to use. Default value is *memory*, which stores the scheduler configuration in memory (and does not persist configuration changes across restarts). Other values are *leveldb* (using a leveldb-based implementation), and *zk* (using a zookeeper-based implementation). | + | `yarn.scheduler.configuration.store.class` | The type of backing store to use, as described [above](CapacityScheduler.html#Changing_Queue_Configuration). | | `yarn.scheduler.configuration.mutation.acl-policy.class` | An ACL policy can be configured to restrict which users can modify which queues. Default value is *org.apache.hadoop.yarn.server.resourcemanager.scheduler.DefaultConfigurationMutationACLPolicy*, which only allows YARN admins to make any configuration modifications. Another value is *org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.conf.QueueAdminConfigurationMutationACLPolicy*, which only allows queue modifications if the caller is an admin of the queue. | | `yarn.scheduler.configuration.store.max-logs` | Configuration changes are audit logged in the backing store, if using leveldb or zookeeper. This configuration controls the maximum number of audit logs to store, dropping the oldest logs when exceeded. Default is 1000. | | `yarn.scheduler.configuration.leveldb-store.path` | The storage path of the configuration store when using leveldb. Default value is *${hadoop.tmp.dir}/yarn/system/confstore*. | | `yarn.scheduler.configuration.leveldb-store.compaction-interval-secs` | The interval for compacting the configuration store in seconds, when using leveldb. Default value is 86400, or one day. | | `yarn.scheduler.configuration.zk-store.parent-path` | The zookeeper root node path for configuration store related information, when using zookeeper. Default value is */confstore*. | - **Note:** When enabling backing store for scheduler configuration, *yarn rmadmin -refreshQueues* will be disabled, i.e. it will no longer be possible to update configuration via file. + **Note:** When enabling scheduler configuration mutations via `yarn.scheduler.configuration.store.class`, *yarn rmadmin -refreshQueues* will be disabled, i.e. it will no longer be possible to update configuration via file. See the [YARN Resource Manager REST API](ResourceManagerRest.html#Scheduler_Configuration_Mutation_API) for examples on how to change scheduler configuration via REST, and [YARN Commands Reference](YarnCommands.html#schedulerconf) for examples on how to change scheduler configuration via command line. diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md index 271555e0ad1..f3a19079624 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md @@ -4436,6 +4436,8 @@ Scheduler Configuration Mutation API The scheduler configuration mutation API provides a way to modify scheduler/queue configuration and queue hierarchy. +Please note that this feature is currently in the alpha stage and is subject to change. + ### URI @@ -4445,7 +4447,7 @@ The scheduler configuration mutation API provides a way to modify scheduler/queu * PUT -### Elements of the *schedConf* object +### Elements of the *sched-conf* object | Item | Data Type | Description | |:---- |:---- |:---- | @@ -4466,7 +4468,7 @@ Request for updating queue configurations. | Item | Data Type | Description | |:---- |:---- |:---- | -| queueName | string | Full path name of the queue to update | +| queue-name | string | Full path name of the queue to update | | params | map | A map of key value configuration pairs to update for this queue | Assuming we are using the capacity scheduler and the current queue configuration is a single queue *root.default*, this example sets *root.default*'s maximum applications to 100 and its minimum user limit percent to 10. @@ -4478,9 +4480,9 @@ HTTP Request: PUT http://rm-http-address:port/ws/v1/cluster/scheduler-conf Content-Type: application/xml - + - root.default + root.default maximum-applications @@ -4492,7 +4494,7 @@ HTTP Request: - + ``` @@ -4511,7 +4513,7 @@ Request for adding queues/updating queue configurations. | Item | Data Type | Description | |:---- |:---- |:---- | -| queueName | string | Full path name of the queue to add | +| queue-name | string | Full path name of the queue to add | | params | map | A map of key value configuration pairs to set for this queue | Assuming we are using the capacity scheduler and the current queue configuration is a single queue *root.default*, this example adds a queue *root.a* with capacity/maximum-capacity 10, and adjusts *root.default*'s capacity/maximum-capacity to 90. (More complex examples include adding a queue whose parent is also being added in the same request, or adding multiple sibling queues.) @@ -4523,9 +4525,9 @@ HTTP Request: PUT http://rm-http-address:port/ws/v1/cluster/scheduler-conf Content-Type: application/xml - + - root.a + root.a capacity @@ -4538,7 +4540,7 @@ HTTP Request: - root.default + root.default capacity @@ -4550,7 +4552,7 @@ HTTP Request: - + ``` @@ -4576,10 +4578,10 @@ HTTP Request: PUT http://rm-http-address:port/ws/v1/cluster/scheduler-conf Content-Type: application/xml - + root.a root.b - + ``` @@ -4600,14 +4602,14 @@ HTTP Request: PUT http://rm-http-address:port/ws/v1/cluster/scheduler-conf Content-Type: application/xml - + yarn.scheduler.capacity.queue-mappings-override.enable true - + ``` diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/YarnCommands.md hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/YarnCommands.md index 8589885d664..fa33b8bc158 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/YarnCommands.md +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/YarnCommands.md @@ -248,7 +248,7 @@ Usage: `yarn schedulerconf [options]` | -update <"queuePath1:key1=val1,key2=val2;queuePath2:key3=val3"> | Semicolon separated values of queues whose configurations should be updated. This example sets key1=val1 and key2=val2 for queue configuration of queuePath1 (full path name), and sets key3=val3 for queue configuration of queuePath2. | | -global | Update scheduler global configurations. This example sets key1=val1 and key2=val2 for scheduler's global configuration. | -Updates scheduler configuration +Updates scheduler configuration. Note, this feature is in alpha phase and is subject to change. ### scmadmin