From 5782499f6fdc210f65b76cde7d534fa0acf8ad57 Mon Sep 17 00:00:00 2001 From: Sunil Date: Thu, 29 Sep 2016 00:40:01 +0530 Subject: [PATCH] YARN-5145-Run-NewUI-WithOldPort-POC --- .../java/org/apache/hadoop/yarn/webapp/WebApps.java | 8 ++++++++ .../yarn/server/resourcemanager/ResourceManager.java | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/WebApps.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/WebApps.java index 53cb3ee..90cfad8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/WebApps.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/WebApps.java @@ -43,6 +43,7 @@ import org.apache.hadoop.security.http.XFrameOptionsFilter; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.webapp.util.WebAppUtils; +import org.mortbay.jetty.webapp.WebAppContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -369,8 +370,15 @@ public WebApp start() { } public WebApp start(WebApp webapp) { + return start(webapp, null); + } + + public WebApp start(WebApp webapp, WebAppContext context) { WebApp webApp = build(webapp); HttpServer2 httpServer = webApp.httpServer(); + if(context != null) { + httpServer.addContext(context, true); + } try { httpServer.start(); LOG.info("Web app " + name + " started at " diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java index 10582b2..17c852c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java @@ -113,6 +113,8 @@ import org.apache.hadoop.yarn.webapp.WebApps.Builder; import org.apache.hadoop.yarn.webapp.util.WebAppUtils; import org.apache.zookeeper.server.auth.DigestAuthenticationProvider; +import org.mortbay.jetty.servlet.FilterHolder; +import org.mortbay.jetty.webapp.WebAppContext; import com.google.common.annotations.VisibleForTesting; import java.io.IOException; @@ -1069,9 +1071,20 @@ protected void startWepApp() { builder.withAttribute(WebAppProxy.FETCHER_ATTRIBUTE, fetcher); String[] proxyParts = proxyHostAndPort.split(":"); builder.withAttribute(WebAppProxy.PROXY_HOST_ATTRIBUTE, proxyParts[0]); + } + WebAppContext uiWebAppContext = null; + if (getConfig().getBoolean(YarnConfiguration.RM_WEBAPP_UI2_ENABLE, + YarnConfiguration.DEFAULT_RM_WEBAPP_UI2_ENABLE)) { + String webPath = "/newUI"; + String onDiskPath = "/tmp/newUi.war"; + uiWebAppContext = new WebAppContext(); + + uiWebAppContext.setContextPath(webPath); + uiWebAppContext.setWar(onDiskPath); } - webApp = builder.start(new RMWebApp(this)); + + webApp = builder.start(new RMWebApp(this), uiWebAppContext); } /** @@ -1176,8 +1189,8 @@ protected void serviceStart() throws Exception { if (getConfig().getBoolean(YarnConfiguration.RM_WEBAPP_UI2_ENABLE, YarnConfiguration.DEFAULT_RM_WEBAPP_UI2_ENABLE)) { try { - startWebAppV2(); - LOG.info("Yarn WebApp UI 2 is started"); + //startWebAppV2(); + //LOG.info("Yarn WebApp UI 2 is started"); } catch (Exception e) { LOG.error("Failed to start Yarn web app v2:" + e.getMessage()); } -- 2.7.4 (Apple Git-66)