Repository: hadoop Updated Branches: refs/heads/branch-2.7 ce01a5951 -> 336be63da
YARN-2859. ApplicationHistoryServer binds to default port 8188 in MiniYARNCluster. Contributed by Vinod Kumar Vavilapalli (cherry picked from commit 27414dac66f278b61fc23762204b01a1c508178a) (cherry picked from commit 9ce5069d16edefb0b2a24d6b7988347039624942) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/336be63d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/336be63d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/336be63d Branch: refs/heads/branch-2.7 Commit: 336be63dad59c58d7a72d2ea2c4a9f811a075eae Parents: ce01a59 Author: Xuan <xg...@apache.org> Authored: Wed Oct 28 10:32:16 2015 -0700 Committer: Xuan <xg...@apache.org> Committed: Wed Oct 28 10:34:28 2015 -0700 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../apache/hadoop/yarn/server/MiniYARNCluster.java | 14 ++++++++++---- .../hadoop/yarn/server/TestMiniYarnCluster.java | 9 +++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/336be63d/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 3605c52..b865af4 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -883,6 +883,9 @@ Release 2.6.2 - UNRELEASED YARN-3798. ZKRMStateStore shouldn't create new session without occurrance of SESSIONEXPIED. (ozawa and Varun Saxena) + YARN-2859. ApplicationHistoryServer binds to default port 8188 in MiniYARNCluster. + (Vinod Kumar Vavilapalli via xgong) + Release 2.6.1 - 2015-09-23 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/336be63d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java index f8b27b3..048c46f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java @@ -248,9 +248,9 @@ public class MiniYARNCluster extends CompositeService { resourceManagers[i] = createResourceManager(); if (!useFixedPorts) { if (HAUtil.isHAEnabled(conf)) { - setHARMConfiguration(i, conf); + setHARMConfigurationWithEphemeralPorts(i, conf); } else { - setNonHARMConfiguration(conf); + setNonHARMConfigurationWithEphemeralPorts(conf); } } addService(new ResourceManagerWrapper(i)); @@ -270,7 +270,7 @@ public class MiniYARNCluster extends CompositeService { conf instanceof YarnConfiguration ? conf : new YarnConfiguration(conf)); } - private void setNonHARMConfiguration(Configuration conf) { + private void setNonHARMConfigurationWithEphemeralPorts(Configuration conf) { String hostname = MiniYARNCluster.getHostname(); conf.set(YarnConfiguration.RM_ADDRESS, hostname + ":0"); conf.set(YarnConfiguration.RM_ADMIN_ADDRESS, hostname + ":0"); @@ -279,7 +279,7 @@ public class MiniYARNCluster extends CompositeService { WebAppUtils.setRMWebAppHostnameAndPort(conf, hostname, 0); } - private void setHARMConfiguration(final int index, Configuration conf) { + private void setHARMConfigurationWithEphemeralPorts(final int index, Configuration conf) { String hostname = MiniYARNCluster.getHostname(); for (String confKey : YarnConfiguration.getServiceAddressConfKeys(conf)) { conf.set(HAUtil.addSuffix(confKey, rmIds[index]), hostname + ":0"); @@ -688,6 +688,12 @@ public class MiniYARNCluster extends CompositeService { MemoryTimelineStore.class, TimelineStore.class); conf.setClass(YarnConfiguration.TIMELINE_SERVICE_STATE_STORE_CLASS, MemoryTimelineStateStore.class, TimelineStateStore.class); + if (!useFixedPorts) { + String hostname = MiniYARNCluster.getHostname(); + conf.set(YarnConfiguration.TIMELINE_SERVICE_ADDRESS, hostname + ":0"); + conf.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, hostname + + ":0"); + } appHistoryServer.init(conf); super.serviceInit(conf); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/336be63d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnCluster.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnCluster.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnCluster.java index 8a3c9e7..24088f1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnCluster.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnCluster.java @@ -24,6 +24,7 @@ import org.junit.Assert; import org.junit.Test; public class TestMiniYarnCluster { + @Test public void testTimelineServiceStartInMiniCluster() throws Exception { Configuration conf = new YarnConfiguration(); @@ -66,6 +67,14 @@ public class TestMiniYarnCluster { cluster = new MiniYARNCluster(TestMiniYarnCluster.class.getSimpleName(), numNodeManagers, numLocalDirs, numLogDirs, numLogDirs, enableAHS); cluster.init(conf); + + // Verify that the timeline-service starts on ephemeral ports by default + String hostname = MiniYARNCluster.getHostname(); + Assert.assertEquals(hostname + ":0", + conf.get(YarnConfiguration.TIMELINE_SERVICE_ADDRESS)); + Assert.assertEquals(hostname + ":0", + conf.get(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS)); + cluster.start(); //Timeline service may sometime take a while to get started