svn merge -c 1404674 FIXES: MAPREDUCE-4746. The MR Application Master does not have a config to set environment variables (Rob Parker via bobby)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1404676 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4722d76b4c
commit
d9e5740ce7
|
@ -476,6 +476,9 @@ Release 0.23.5 - UNRELEASED
|
|||
MAPREDUCE-4724. job history web ui applications page should be sorted to
|
||||
display last app first (tgraves via bobby)
|
||||
|
||||
MAPREDUCE-4746. The MR Application Master does not have a config to set
|
||||
environment variables (Rob Parker via bobby)
|
||||
|
||||
Release 0.23.4 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -486,6 +486,9 @@ public interface MRJobConfig {
|
|||
public static final int DEFAULT_MR_AM_HISTORY_USE_BATCHED_FLUSH_QUEUE_SIZE_THRESHOLD =
|
||||
50;
|
||||
|
||||
public static final String MR_AM_ENV =
|
||||
MR_AM_PREFIX + "env";
|
||||
|
||||
public static final String MAPRED_MAP_ADMIN_JAVA_OPTS =
|
||||
"mapreduce.admin.map.child.java.opts";
|
||||
|
||||
|
|
|
@ -1272,6 +1272,33 @@
|
|||
mapreduce.job.end-notification.max.retry.interval</description>
|
||||
</property>
|
||||
|
||||
<property>
|
||||
<name>yarn.app.mapreduce.am.env</name>
|
||||
<value></value>
|
||||
<description>User added environment variables for the MR App Master
|
||||
processes. Example :
|
||||
1) A=foo This will set the env variable A to foo
|
||||
2) B=$B:c This is inherit tasktracker's B env variable.
|
||||
</description>
|
||||
</property>
|
||||
|
||||
<property>
|
||||
<name>yarn.app.mapreduce.am.command-opts</name>
|
||||
<value>-Xmx1024m</value>
|
||||
<description>Java opts for the MR App Master processes.
|
||||
The following symbol, if present, will be interpolated: @taskid@ is replaced
|
||||
by current TaskID. Any other occurrences of '@' will go unchanged.
|
||||
For example, to enable verbose gc logging to a file named for the taskid in
|
||||
/tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
|
||||
-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
|
||||
|
||||
Usage of -Djava.library.path can cause programs to no longer function if
|
||||
hadoop native libraries are used. These values should instead be set as part
|
||||
of LD_LIBRARY_PATH in the map / reduce JVM env using the mapreduce.map.env and
|
||||
mapreduce.reduce.env config settings.
|
||||
</description>
|
||||
</property>
|
||||
|
||||
<property>
|
||||
<name>yarn.app.mapreduce.am.job.task.listener.thread-count</name>
|
||||
<value>30</value>
|
||||
|
|
|
@ -397,7 +397,7 @@ public class YARNRunner implements ClientProtocol {
|
|||
|
||||
|
||||
Vector<String> vargsFinal = new Vector<String>(8);
|
||||
// Final commmand
|
||||
// Final command
|
||||
StringBuilder mergedCommand = new StringBuilder();
|
||||
for (CharSequence str : vargs) {
|
||||
mergedCommand.append(str).append(" ");
|
||||
|
@ -411,6 +411,10 @@ public class YARNRunner implements ClientProtocol {
|
|||
// i.e. add { Hadoop jars, job jar, CWD } to classpath.
|
||||
Map<String, String> environment = new HashMap<String, String>();
|
||||
MRApps.setClasspath(environment, conf);
|
||||
|
||||
// Setup the environment variables (LD_LIBRARY_PATH, etc)
|
||||
MRApps.setEnvFromInputString(environment,
|
||||
conf.get(MRJobConfig.MR_AM_ENV));
|
||||
|
||||
// Parse distributed cache
|
||||
MRApps.setupDistributedCache(jobConf, localResources);
|
||||
|
|
Loading…
Reference in New Issue