|
@@ -30,6 +30,7 @@ import org.apache.hadoop.mapreduce.v2.app.job.Job;
|
|
|
import org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncher;
|
|
|
import org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherEvent;
|
|
|
import org.apache.hadoop.mapreduce.v2.app.launcher.ContainerRemoteLaunchEvent;
|
|
|
+import org.apache.hadoop.util.Shell;
|
|
|
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
|
|
|
import org.junit.Test;
|
|
|
|
|
@@ -46,10 +47,10 @@ public class TestMapReduceChildJVM {
|
|
|
app.verifyCompleted();
|
|
|
|
|
|
Assert.assertEquals(
|
|
|
- "[exec $JAVA_HOME/bin/java" +
|
|
|
+ "[" + envVar("JAVA_HOME") + "/bin/java" +
|
|
|
" -Djava.net.preferIPv4Stack=true" +
|
|
|
" -Dhadoop.metrics.log.level=WARN" +
|
|
|
- " -Xmx200m -Djava.io.tmpdir=$PWD/tmp" +
|
|
|
+ " -Xmx200m -Djava.io.tmpdir=" + envVar("PWD") + "/tmp" +
|
|
|
" -Dlog4j.configuration=container-log4j.properties" +
|
|
|
" -Dyarn.app.mapreduce.container.log.dir=<LOG_DIR>" +
|
|
|
" -Dyarn.app.mapreduce.container.log.filesize=0" +
|
|
@@ -88,4 +89,16 @@ public class TestMapReduceChildJVM {
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Returns platform-specific string for retrieving the value of an environment
|
|
|
+ * variable with the given name. On Unix, this returns $name. On Windows,
|
|
|
+ * this returns %name%.
|
|
|
+ *
|
|
|
+ * @param name String environment variable name
|
|
|
+ * @return String for retrieving value of environment variable
|
|
|
+ */
|
|
|
+ private static String envVar(String name) {
|
|
|
+ return Shell.WINDOWS ? '%' + name + '%' : '$' + name;
|
|
|
+ }
|
|
|
}
|