public virtual void TestGetProxyHostsAndPortsForAmFilter() { // Check no configs given Configuration conf = new Configuration(false); IList <string> proxyHosts = WebAppUtils.GetProxyHostsAndPortsForAmFilter(conf); NUnit.Framework.Assert.AreEqual(1, proxyHosts.Count); NUnit.Framework.Assert.AreEqual(WebAppUtils.GetResolvedRMWebAppURLWithoutScheme(conf ), proxyHosts[0]); // Check PROXY_ADDRESS has priority conf = new Configuration(false); conf.Set(YarnConfiguration.ProxyAddress, "host1:1000"); conf.SetBoolean(YarnConfiguration.RmHaEnabled, true); conf.Set(YarnConfiguration.RmHaIds, "rm1,rm2,rm3"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm1", "host2:2000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm2", "host3:3000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm3", "host4:4000"); proxyHosts = WebAppUtils.GetProxyHostsAndPortsForAmFilter(conf); NUnit.Framework.Assert.AreEqual(1, proxyHosts.Count); NUnit.Framework.Assert.AreEqual("host1:1000", proxyHosts[0]); // Check getting a single RM_WEBAPP_ADDRESS conf = new Configuration(false); conf.Set(YarnConfiguration.RmWebappAddress, "host2:2000"); proxyHosts = WebAppUtils.GetProxyHostsAndPortsForAmFilter(conf); NUnit.Framework.Assert.AreEqual(1, proxyHosts.Count); proxyHosts.Sort(); NUnit.Framework.Assert.AreEqual("host2:2000", proxyHosts[0]); // Check getting multiple RM_WEBAPP_ADDRESSes (RM HA) conf = new Configuration(false); conf.SetBoolean(YarnConfiguration.RmHaEnabled, true); conf.Set(YarnConfiguration.RmHaIds, "rm1,rm2,rm3"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm1", "host2:2000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm2", "host3:3000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm3", "host4:4000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm4", "dummy"); conf.Set(YarnConfiguration.RmWebappHttpsAddress + ".rm1", "host5:5000"); conf.Set(YarnConfiguration.RmWebappHttpsAddress + ".rm2", "host6:6000"); proxyHosts = WebAppUtils.GetProxyHostsAndPortsForAmFilter(conf); NUnit.Framework.Assert.AreEqual(3, proxyHosts.Count); proxyHosts.Sort(); NUnit.Framework.Assert.AreEqual("host2:2000", proxyHosts[0]); NUnit.Framework.Assert.AreEqual("host3:3000", proxyHosts[1]); NUnit.Framework.Assert.AreEqual("host4:4000", proxyHosts[2]); // Check getting multiple RM_WEBAPP_ADDRESSes (RM HA) with HTTPS conf = new Configuration(false); conf.Set(YarnConfiguration.YarnHttpPolicyKey, HttpConfig.Policy.HttpsOnly.ToString ()); conf.SetBoolean(YarnConfiguration.RmHaEnabled, true); conf.Set(YarnConfiguration.RmHaIds, "rm1,rm2,rm3,dummy"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm1", "host2:2000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm2", "host3:3000"); conf.Set(YarnConfiguration.RmWebappAddress + ".rm3", "host4:4000"); conf.Set(YarnConfiguration.RmWebappHttpsAddress + ".rm1", "host5:5000"); conf.Set(YarnConfiguration.RmWebappHttpsAddress + ".rm2", "host6:6000"); proxyHosts = WebAppUtils.GetProxyHostsAndPortsForAmFilter(conf); NUnit.Framework.Assert.AreEqual(2, proxyHosts.Count); proxyHosts.Sort(); NUnit.Framework.Assert.AreEqual("host5:5000", proxyHosts[0]); NUnit.Framework.Assert.AreEqual("host6:6000", proxyHosts[1]); }
public virtual void TestRMWebAppURLRemoteAndLocal() { Configuration configuration = new Configuration(); string rmAddress = "host1:8088"; configuration.Set(YarnConfiguration.RmWebappAddress, rmAddress); string rm1Address = "host2:8088"; string rm2Address = "host3:8088"; configuration.Set(YarnConfiguration.RmWebappAddress + "." + Rm1NodeId, rm1Address ); configuration.Set(YarnConfiguration.RmWebappAddress + "." + Rm2NodeId, rm2Address ); configuration.SetBoolean(YarnConfiguration.RmHaEnabled, true); configuration.Set(YarnConfiguration.RmHaIds, Rm1NodeId + "," + Rm2NodeId); string rmRemoteUrl = WebAppUtils.GetResolvedRemoteRMWebAppURLWithoutScheme(configuration ); NUnit.Framework.Assert.AreEqual("ResolvedRemoteRMWebAppUrl should resolve to the first HA RM address" , rm1Address, rmRemoteUrl); string rmLocalUrl = WebAppUtils.GetResolvedRMWebAppURLWithoutScheme(configuration ); NUnit.Framework.Assert.AreEqual("ResolvedRMWebAppUrl should resolve to the default RM webapp address" , rmAddress, rmLocalUrl); }
protected internal AppController(Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App app , Configuration conf, Controller.RequestContext ctx, string title) : base(ctx) { this.app = app; Set(AppId, app.context.GetApplicationID().ToString()); Set(RmWeb, Joiner.Join(MRWebAppUtil.GetYARNWebappScheme(), WebAppUtils.GetResolvedRMWebAppURLWithoutScheme (conf, MRWebAppUtil.GetYARNHttpPolicy()))); }