MAPREDUCE-5083. MiniMRCluster should use a random component when creating an actual cluster. Contributed by Siddharth Seth.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1459932 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6f92ad9868
commit
b8c74a8a25
|
@ -250,6 +250,9 @@ Release 2.0.5-beta - UNRELEASED
|
||||||
MAPREDUCE-3872. Fix an event handling races in ContainerLauncherImpl.
|
MAPREDUCE-3872. Fix an event handling races in ContainerLauncherImpl.
|
||||||
(Robert Kanter via sseth)
|
(Robert Kanter via sseth)
|
||||||
|
|
||||||
|
MAPREDUCE-5083. MiniMRCluster should use a random component when creating an
|
||||||
|
actual cluster (Siddharth Seth via hitesh)
|
||||||
|
|
||||||
Release 2.0.4-alpha - UNRELEASED
|
Release 2.0.4-alpha - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -38,6 +38,11 @@ public class MiniMRClientClusterFactory {
|
||||||
|
|
||||||
public static MiniMRClientCluster create(Class<?> caller, int noOfNMs,
|
public static MiniMRClientCluster create(Class<?> caller, int noOfNMs,
|
||||||
Configuration conf) throws IOException {
|
Configuration conf) throws IOException {
|
||||||
|
return create(caller, caller.getSimpleName(), noOfNMs, conf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MiniMRClientCluster create(Class<?> caller, String identifier,
|
||||||
|
int noOfNMs, Configuration conf) throws IOException {
|
||||||
|
|
||||||
if (conf == null) {
|
if (conf == null) {
|
||||||
conf = new Configuration();
|
conf = new Configuration();
|
||||||
|
@ -45,7 +50,7 @@ public class MiniMRClientClusterFactory {
|
||||||
|
|
||||||
FileSystem fs = FileSystem.get(conf);
|
FileSystem fs = FileSystem.get(conf);
|
||||||
|
|
||||||
Path testRootDir = new Path("target", caller.getSimpleName() + "-tmpDir")
|
Path testRootDir = new Path("target", identifier + "-tmpDir")
|
||||||
.makeQualified(fs);
|
.makeQualified(fs);
|
||||||
Path appJar = new Path(testRootDir, "MRAppJar.jar");
|
Path appJar = new Path(testRootDir, "MRAppJar.jar");
|
||||||
|
|
||||||
|
@ -65,10 +70,10 @@ public class MiniMRClientClusterFactory {
|
||||||
fs.setPermission(remoteCallerJar, new FsPermission("744"));
|
fs.setPermission(remoteCallerJar, new FsPermission("744"));
|
||||||
job.addFileToClassPath(remoteCallerJar);
|
job.addFileToClassPath(remoteCallerJar);
|
||||||
|
|
||||||
MiniMRYarnCluster miniMRYarnCluster = new MiniMRYarnCluster(caller
|
MiniMRYarnCluster miniMRYarnCluster = new MiniMRYarnCluster(identifier,
|
||||||
.getSimpleName(), noOfNMs);
|
noOfNMs);
|
||||||
job.getConfiguration().set("minimrclientcluster.caller.name",
|
job.getConfiguration().set("minimrclientcluster.caller.name",
|
||||||
caller.getSimpleName());
|
identifier);
|
||||||
job.getConfiguration().setInt("minimrclientcluster.nodemanagers.number",
|
job.getConfiguration().setInt("minimrclientcluster.nodemanagers.number",
|
||||||
noOfNMs);
|
noOfNMs);
|
||||||
miniMRYarnCluster.init(job.getConfiguration());
|
miniMRYarnCluster.init(job.getConfiguration());
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
package org.apache.hadoop.mapred;
|
package org.apache.hadoop.mapred;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -177,8 +178,10 @@ public class MiniMRCluster {
|
||||||
int numTrackerToExclude, Clock clock) throws IOException {
|
int numTrackerToExclude, Clock clock) throws IOException {
|
||||||
if (conf == null) conf = new JobConf();
|
if (conf == null) conf = new JobConf();
|
||||||
FileSystem.setDefaultUri(conf, namenode);
|
FileSystem.setDefaultUri(conf, namenode);
|
||||||
|
String identifier = this.getClass().getSimpleName() + "_"
|
||||||
|
+ Integer.toString(new Random().nextInt(Integer.MAX_VALUE));
|
||||||
mrClientCluster = MiniMRClientClusterFactory.create(this.getClass(),
|
mrClientCluster = MiniMRClientClusterFactory.create(this.getClass(),
|
||||||
numTaskTrackers, conf);
|
identifier, numTaskTrackers, conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserGroupInformation getUgi() {
|
public UserGroupInformation getUgi() {
|
||||||
|
|
Loading…
Reference in New Issue