|
@@ -20,11 +20,12 @@ package org.apache.hadoop.yarn.server.resourcemanager.placement;
|
|
|
|
|
|
import org.apache.commons.logging.Log;
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
-import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
|
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnException;
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CSQueue;
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerContext;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerQueueManager;
|
|
@@ -61,8 +62,15 @@ public class AppNameMappingPlacementRule extends PlacementRule {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public boolean initialize(CapacitySchedulerContext schedulerContext)
|
|
|
+ public boolean initialize(ResourceScheduler scheduler)
|
|
|
throws IOException {
|
|
|
+ if (!(scheduler instanceof CapacityScheduler)) {
|
|
|
+ throw new IOException(
|
|
|
+ "AppNameMappingPlacementRule can be configured only for "
|
|
|
+ + "CapacityScheduler");
|
|
|
+ }
|
|
|
+ CapacitySchedulerContext schedulerContext =
|
|
|
+ (CapacitySchedulerContext) scheduler;
|
|
|
CapacitySchedulerConfiguration conf = schedulerContext.getConfiguration();
|
|
|
boolean overrideWithQueueMappings = conf.getOverrideWithQueueMappings();
|
|
|
LOG.info(
|