From bcf4a0e6db4e016b270d2d8b23e300353cc6765d Mon Sep 17 00:00:00 2001 From: Loknath Priyatham Teja Singamsetty Date: Thu, 1 Sep 2016 20:33:01 +0530 Subject: [PATCH 1/1] * Added the mapreduce resource manager and jobhistory web app address to HBaseTestingUtility --- .../apache/hadoop/hbase/HBaseTestingUtility.java | 10 ++++++ .../hadoop/hbase/TestHBaseTestingUtility.java | 39 +++++++++++++++++++--- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index 5f8a1dc..e155436 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -2674,6 +2674,16 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility { if (schedulerAddress != null) { conf.set("yarn.resourcemanager.scheduler.address", schedulerAddress); } + String mrJobHistoryWebappAddress = + jobConf.get("mapreduce.jobhistory.webapp.address"); + if (mrJobHistoryWebappAddress != null) { + conf.set("mapreduce.jobhistory.webapp.address", mrJobHistoryWebappAddress); + } + String yarnRMWebappAddress = + jobConf.get("yarn.resourcemanager.webapp.address"); + if (yarnRMWebappAddress != null) { + conf.set("yarn.resourcemanager.webapp.address", yarnRMWebappAddress); + } } /** diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java index a9cde0a..4aa43fe 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java @@ -23,8 +23,16 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.Path; @@ -32,17 +40,14 @@ import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Table; +import org.apache.hadoop.hbase.http.ssl.KeyStoreTestUtil; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; import org.apache.hadoop.hdfs.MiniDFSCluster; -import org.apache.hadoop.hbase.http.ssl.KeyStoreTestUtil; import org.junit.Test; import org.junit.experimental.categories.Category; -import java.io.File; -import java.util.List; - /** * Test our testing utility class */ @@ -384,5 +389,31 @@ public class TestHBaseTestingUtility { assertTrue(hbt.cleanupTestDir()); } + @Test public void testMRYarnConfigsPopulation() throws IOException { + Map dummyProps = new HashMap<>(); + dummyProps.put("mapreduce.jobtracker.address", "dummyhost:11234"); + dummyProps.put("yarn.resourcemanager.address", "dummyhost:11235"); + dummyProps.put("mapreduce.jobhistory.address", "dummyhost:11236"); + dummyProps.put("yarn.resourcemanager.scheduler.address", "dummyhost:11237"); + dummyProps.put("mapreduce.jobhistory.webapp.address", "dummyhost:11238"); + dummyProps.put("yarn.resourcemanager.webapp.address", "dummyhost:11239"); + + HBaseTestingUtility hbt = new HBaseTestingUtility(); + Configuration conf = hbt.getConfiguration(); + + // populate the mr props to the Configuration instance + for (Entry entry : dummyProps.entrySet()) { + conf.set(entry.getKey(), entry.getValue()); + } + + hbt.startMiniMapReduceCluster(); + + // Confirm that MiniMapReduceCluster overwrites the mr properties and updates the Configuration + for (Entry entry : dummyProps.entrySet()) { + assertFalse("The dummy MR prop: " + entry.getValue() + " is not overwritten when map reduce mini cluster is started", conf.get(entry.getKey()).equals(entry.getValue())); + } + + hbt.shutdownMiniMapReduceCluster(); + } } -- 2.7.4 (Apple Git-66)