MAPREDUCE-3869. Fix classpath for DistributedShell application. (Contributed by Devaraj K)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1311523 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Siddharth Seth 2012-04-10 00:01:49 +00:00
parent 241e3d40ac
commit b28f134e9c
2 changed files with 14 additions and 14 deletions

View File

@ -221,6 +221,9 @@ Release 2.0.0 - UNRELEASED
MAPREDUCE-4105. Yarn RackResolver ignores rack configurations.
(Ahmed Radwan via tomwhite)
MAPREDUCE-3869. Fix classpath for DistributedShell application. (Devaraj K
via sseth)
Release 0.23.3 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -78,7 +78,6 @@ import org.apache.hadoop.yarn.api.records.YarnApplicationState;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
import org.apache.hadoop.yarn.ipc.YarnRPC;
import org.apache.hadoop.yarn.security.client.ClientRMSecurityInfo;
import org.apache.hadoop.yarn.util.ConverterUtils;
import org.apache.hadoop.yarn.util.Records;
@ -506,22 +505,20 @@ public class Client {
// It should be provided out of the box.
// For now setting all required classpaths including
// the classpath to "." for the application jar
String classPathEnv = "${CLASSPATH}"
+ ":./*"
+ ":$HADOOP_CONF_DIR"
+ ":$HADOOP_COMMON_HOME/share/hadoop/common/*"
+ ":$HADOOP_COMMON_HOME/share/hadoop/common/lib/*"
+ ":$HADOOP_HDFS_HOME/share/hadoop/hdfs/*"
+ ":$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*"
+ ":$YARN_HOME/modules/*"
+ ":$YARN_HOME/lib/*"
+ ":./log4j.properties:";
StringBuilder classPathEnv = new StringBuilder("${CLASSPATH}:./*");
for (String c : conf.get(YarnConfiguration.YARN_APPLICATION_CLASSPATH)
.split(",")) {
classPathEnv.append(':');
classPathEnv.append(c.trim());
}
classPathEnv.append(":./log4j.properties");
// add the runtime classpath needed for tests to work
// add the runtime classpath needed for tests to work
String testRuntimeClassPath = Client.getTestRuntimeClasspath();
classPathEnv += ":" + testRuntimeClassPath;
classPathEnv.append(':');
classPathEnv.append(testRuntimeClassPath);
env.put("CLASSPATH", classPathEnv);
env.put("CLASSPATH", classPathEnv.toString());
amContainer.setEnvironment(env);