diff --git a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatMultiOutputFormat.java b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatMultiOutputFormat.java index f3e4037..4cbe914 100644 --- a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatMultiOutputFormat.java +++ b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatMultiOutputFormat.java @@ -185,6 +185,8 @@ public static void setup() throws Exception { conf.set("yarn.scheduler.capacity.root.default.capacity", "100"); FileSystem fs = FileSystem.get(conf); + org.apache.hive.hcatalog.mapreduce.HCatMapReduceTest.setupDummyYarnSiteXml(); + System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); mrCluster = new MiniMRCluster(1, fs.getUri().toString(), 1, null, null, new JobConf(conf)); diff --git a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatPartitionPublish.java b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatPartitionPublish.java index 0a76725..ef0562a 100644 --- a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatPartitionPublish.java +++ b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestHCatPartitionPublish.java @@ -85,6 +85,7 @@ public static void setup() throws Exception { fs = FileSystem.get(conf); System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); + org.apache.hive.hcatalog.mapreduce.HCatMapReduceTest.setupDummyYarnSiteXml(); // LocalJobRunner does not work with mapreduce OutputCommitter. So need // to use MiniMRCluster. MAPREDUCE-2350 mrCluster = new MiniMRCluster(1, fs.getUri().toString(), 1, null, null, diff --git a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestMultiOutputFormat.java b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestMultiOutputFormat.java index f386443..dc58816 100644 --- a/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestMultiOutputFormat.java +++ b/hcatalog/core/src/test/java/org/apache/hcatalog/mapreduce/TestMultiOutputFormat.java @@ -80,6 +80,7 @@ public static void setup() throws IOException { fs = FileSystem.get(conf); System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); + org.apache.hive.hcatalog.mapreduce.HCatMapReduceTest.setupDummyYarnSiteXml(); // LocalJobRunner does not work with mapreduce OutputCommitter. So need // to use MiniMRCluster. MAPREDUCE-2350 mrConf = new JobConf(conf); diff --git a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/HCatMapReduceTest.java b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/HCatMapReduceTest.java index 6776c94..c8f18d6 100644 --- a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/HCatMapReduceTest.java +++ b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/HCatMapReduceTest.java @@ -19,6 +19,7 @@ package org.apache.hive.hcatalog.mapreduce; +import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -396,6 +397,30 @@ protected HCatSchema getTableSchema() throws Exception { return HCatInputFormat.getTableSchema(job); } + /** + * Utility method to set up a dummy yarn site xml + * Use this method before any invocations of minimr cluster + */ + public static void setupDummyYarnSiteXml() { + try { + FileSystem localFs = FileSystem.getLocal(new Configuration()); + String TEST_ROOT_DIR = "target" + + Path.SEPARATOR + "classes"; + Path TEST_ROOT_DIR_PATH = + localFs.makeQualified(new Path(TEST_ROOT_DIR)); + + Path YARN_SITE_XML = new Path(TEST_ROOT_DIR_PATH,"yarn-site.xml"); + + if (!localFs.exists(YARN_SITE_XML)){ + Configuration dummy_conf = new Configuration(false); + dummy_conf.writeXml(new FileOutputStream(YARN_SITE_XML.toUri().getPath())); + } + } catch (IOException e) { + throw new RuntimeException("problem getting local fs", e); + } + } + + } diff --git a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatMultiOutputFormat.java b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatMultiOutputFormat.java index 7e53a16..70d7258 100644 --- a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatMultiOutputFormat.java +++ b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatMultiOutputFormat.java @@ -182,6 +182,8 @@ public static void setup() throws Exception { FileSystem fs = FileSystem.get(conf); System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); + + HCatMapReduceTest.setupDummyYarnSiteXml(); mrCluster = new MiniMRCluster(1, fs.getUri().toString(), 1, null, null, new JobConf(conf)); mrConf = mrCluster.createJobConf(); diff --git a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatPartitionPublish.java b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatPartitionPublish.java index 03e3b6c..b44c9ec 100644 --- a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatPartitionPublish.java +++ b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestHCatPartitionPublish.java @@ -92,6 +92,7 @@ public static void setup() throws Exception { fs = FileSystem.get(conf); System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); + org.apache.hive.hcatalog.mapreduce.HCatMapReduceTest.setupDummyYarnSiteXml(); // LocalJobRunner does not work with mapreduce OutputCommitter. So need // to use MiniMRCluster. MAPREDUCE-2350 mrCluster = new MiniMRCluster(1, fs.getUri().toString(), 1, null, null, diff --git a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestMultiOutputFormat.java b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestMultiOutputFormat.java index d4271e5..fd093ef 100644 --- a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestMultiOutputFormat.java +++ b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/mapreduce/TestMultiOutputFormat.java @@ -77,6 +77,7 @@ public static void setup() throws IOException { fs = FileSystem.get(conf); System.setProperty("hadoop.log.dir", new File(workDir, "/logs").getAbsolutePath()); + org.apache.hive.hcatalog.mapreduce.HCatMapReduceTest.setupDummyYarnSiteXml(); // LocalJobRunner does not work with mapreduce OutputCommitter. So need // to use MiniMRCluster. MAPREDUCE-2350 mrConf = new JobConf(conf);