YARN-140. Add capacity-scheduler-default.xml to provide a default set of configurations for the capacity scheduler. (ahmed via tucu)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1400337 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
65a52c8e7c
commit
e0ced0a835
|
@ -69,6 +69,8 @@ Release 2.0.3-alpha - Unreleased
|
||||||
YARN-150. Fixes AppRejectedTransition does not unregister a rejected
|
YARN-150. Fixes AppRejectedTransition does not unregister a rejected
|
||||||
app-attempt from the ApplicationMasterService (Bikas Saha via sseth)
|
app-attempt from the ApplicationMasterService (Bikas Saha via sseth)
|
||||||
|
|
||||||
|
YARN-140. Add capacity-scheduler-default.xml to provide a default set of configurations for the capacity scheduler. (ahmed via tucu)
|
||||||
|
|
||||||
Release 2.0.2-alpha - 2012-09-07
|
Release 2.0.2-alpha - 2012-09-07
|
||||||
|
|
||||||
YARN-9. Rename YARN_HOME to HADOOP_YARN_HOME. (vinodkv via acmurthy)
|
YARN-9. Rename YARN_HOME to HADOOP_YARN_HOME. (vinodkv via acmurthy)
|
||||||
|
|
|
@ -26,17 +26,6 @@
|
||||||
</description>
|
</description>
|
||||||
</property>
|
</property>
|
||||||
|
|
||||||
<property>
|
|
||||||
<name>yarn.scheduler.capacity.root.capacity</name>
|
|
||||||
<value>100</value>
|
|
||||||
<description>
|
|
||||||
The total capacity as a percentage out of 100 for this queue.
|
|
||||||
If it has child queues then this includes their capacity as well.
|
|
||||||
The child queues capacity should add up to their parent queue's capacity
|
|
||||||
or less.
|
|
||||||
</description>
|
|
||||||
</property>
|
|
||||||
|
|
||||||
<property>
|
<property>
|
||||||
<name>yarn.scheduler.capacity.root.default.capacity</name>
|
<name>yarn.scheduler.capacity.root.default.capacity</name>
|
||||||
<value>100</value>
|
<value>100</value>
|
|
@ -44,6 +44,20 @@
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
||||||
|
<testResources>
|
||||||
|
<testResource>
|
||||||
|
<directory>${basedir}/src/test/resources</directory>
|
||||||
|
</testResource>
|
||||||
|
<testResource>
|
||||||
|
<directory>${basedir}/../../conf</directory>
|
||||||
|
<includes>
|
||||||
|
<include>capacity-scheduler.xml</include>
|
||||||
|
</includes>
|
||||||
|
</testResource>
|
||||||
|
</testResources>
|
||||||
|
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|
||||||
<!-- Publish tests jar -->
|
<!-- Publish tests jar -->
|
||||||
|
|
|
@ -172,7 +172,8 @@ public class CapacitySchedulerConfiguration extends Configuration {
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getCapacity(String queue) {
|
public float getCapacity(String queue) {
|
||||||
float capacity = getFloat(getQueuePrefix(queue) + CAPACITY, UNDEFINED);
|
float capacity = queue.equals("root") ? 100.0f : getFloat(
|
||||||
|
getQueuePrefix(queue) + CAPACITY, UNDEFINED);
|
||||||
if (capacity < MINIMUM_CAPACITY_VALUE || capacity > MAXIMUM_CAPACITY_VALUE) {
|
if (capacity < MINIMUM_CAPACITY_VALUE || capacity > MAXIMUM_CAPACITY_VALUE) {
|
||||||
throw new IllegalArgumentException("Illegal " +
|
throw new IllegalArgumentException("Illegal " +
|
||||||
"capacity of " + capacity + " for queue " + queue);
|
"capacity of " + capacity + " for queue " + queue);
|
||||||
|
@ -183,6 +184,10 @@ public class CapacitySchedulerConfiguration extends Configuration {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCapacity(String queue, float capacity) {
|
public void setCapacity(String queue, float capacity) {
|
||||||
|
if (queue.equals("root")) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"Cannot set capacity, root queue has a fixed capacity of 100.0f");
|
||||||
|
}
|
||||||
setFloat(getQueuePrefix(queue) + CAPACITY, capacity);
|
setFloat(getQueuePrefix(queue) + CAPACITY, capacity);
|
||||||
LOG.debug("CSConf - setCapacity: queuePrefix=" + getQueuePrefix(queue) +
|
LOG.debug("CSConf - setCapacity: queuePrefix=" + getQueuePrefix(queue) +
|
||||||
", capacity=" + capacity);
|
", capacity=" + capacity);
|
||||||
|
|
|
@ -100,8 +100,7 @@ public class TestApplicationLimits {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
||||||
conf.setCapacity(Q_A, 10);
|
conf.setCapacity(Q_A, 10);
|
||||||
|
|
||||||
|
|
|
@ -221,8 +221,7 @@ public class TestCapacityScheduler {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b"});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b"});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
conf.setCapacity(A, A_CAPACITY);
|
conf.setCapacity(A, A_CAPACITY);
|
||||||
conf.setCapacity(B, B_CAPACITY);
|
conf.setCapacity(B, B_CAPACITY);
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,6 @@ public class TestLeafQueue {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {newRoot});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {newRoot});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
conf.setMaximumCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
conf.setMaximumCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
||||||
conf.setAcl(CapacitySchedulerConfiguration.ROOT, QueueACL.SUBMIT_APPLICATIONS, " ");
|
conf.setAcl(CapacitySchedulerConfiguration.ROOT, QueueACL.SUBMIT_APPLICATIONS, " ");
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,6 @@ public class TestParentQueue {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
||||||
conf.setCapacity(Q_A, 30);
|
conf.setCapacity(Q_A, 30);
|
||||||
|
@ -344,7 +343,6 @@ public class TestParentQueue {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
csConf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B, C, D});
|
csConf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {A, B, C, D});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
final String Q_A = CapacitySchedulerConfiguration.ROOT + "." + A;
|
||||||
conf.setCapacity(Q_A, 10);
|
conf.setCapacity(Q_A, 10);
|
||||||
|
|
|
@ -66,8 +66,7 @@ public class TestQueueParsing {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
||||||
conf.setCapacity(A, 10);
|
conf.setCapacity(A, 10);
|
||||||
conf.setMaximumCapacity(A, 15);
|
conf.setMaximumCapacity(A, 15);
|
||||||
|
@ -148,7 +147,6 @@ public class TestQueueParsing {
|
||||||
CapacitySchedulerConfiguration conf = new CapacitySchedulerConfiguration();
|
CapacitySchedulerConfiguration conf = new CapacitySchedulerConfiguration();
|
||||||
|
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
||||||
conf.setCapacity(A, 50);
|
conf.setCapacity(A, 50);
|
||||||
|
|
|
@ -215,7 +215,6 @@ public class TestRMWebApp {
|
||||||
static void setupQueueConfiguration(CapacitySchedulerConfiguration conf) {
|
static void setupQueueConfiguration(CapacitySchedulerConfiguration conf) {
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b", "c"});
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
||||||
conf.setCapacity(A, 10);
|
conf.setCapacity(A, 10);
|
||||||
|
|
|
@ -121,7 +121,6 @@ public class TestRMWebServicesCapacitySched extends JerseyTest {
|
||||||
|
|
||||||
// Define top-level queues
|
// Define top-level queues
|
||||||
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] { "a", "b" });
|
conf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] { "a", "b" });
|
||||||
conf.setCapacity(CapacitySchedulerConfiguration.ROOT, 100);
|
|
||||||
|
|
||||||
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
final String A = CapacitySchedulerConfiguration.ROOT + ".a";
|
||||||
conf.setCapacity(A, 10.5f);
|
conf.setCapacity(A, 10.5f);
|
||||||
|
|
Loading…
Reference in New Issue