|
@@ -31,14 +31,17 @@ import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
|
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppInfo;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppInfo;
|
|
import org.apache.hadoop.yarn.server.security.ApplicationACLsManager;
|
|
import org.apache.hadoop.yarn.server.security.ApplicationACLsManager;
|
|
import org.apache.hadoop.yarn.util.Apps;
|
|
import org.apache.hadoop.yarn.util.Apps;
|
|
|
|
+import org.apache.hadoop.yarn.util.StringHelper;
|
|
import org.apache.hadoop.yarn.util.Times;
|
|
import org.apache.hadoop.yarn.util.Times;
|
|
import org.apache.hadoop.yarn.webapp.Controller;
|
|
import org.apache.hadoop.yarn.webapp.Controller;
|
|
import org.apache.hadoop.yarn.webapp.ResponseInfo;
|
|
import org.apache.hadoop.yarn.webapp.ResponseInfo;
|
|
|
|
+import org.apache.hadoop.yarn.webapp.YarnWebParams;
|
|
|
|
|
|
import com.google.inject.Inject;
|
|
import com.google.inject.Inject;
|
|
|
|
|
|
@@ -123,6 +126,13 @@ public class RmController extends Controller {
|
|
}
|
|
}
|
|
|
|
|
|
public void scheduler() {
|
|
public void scheduler() {
|
|
|
|
+ // limit applications to those in states relevant to scheduling
|
|
|
|
+ set(YarnWebParams.APP_STATE, StringHelper.cjoin(
|
|
|
|
+ RMAppState.NEW.toString(),
|
|
|
|
+ RMAppState.SUBMITTED.toString(),
|
|
|
|
+ RMAppState.ACCEPTED.toString(),
|
|
|
|
+ RMAppState.RUNNING.toString()));
|
|
|
|
+
|
|
ResourceManager rm = getInstance(ResourceManager.class);
|
|
ResourceManager rm = getInstance(ResourceManager.class);
|
|
ResourceScheduler rs = rm.getResourceScheduler();
|
|
ResourceScheduler rs = rm.getResourceScheduler();
|
|
if (rs == null || rs instanceof CapacityScheduler) {
|
|
if (rs == null || rs instanceof CapacityScheduler) {
|