Skip to content

Commit 6d6547d

Browse files
committed
YARN-720 and MAPREDUCE-5291. container-log4j.properties should not refer to mapreduce properties. Update MRApp to use YARN properties for log setup. Contributed by Zhijie Shen.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1488829 13f79535-47bb-0310-9956-ffa450edef68
1 parent 0af2c42 commit 6d6547d

File tree

10 files changed

+36
-22
lines changed

10 files changed

+36
-22
lines changed

hadoop-mapreduce-project/CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,9 @@ Release 2.1.0-beta - UNRELEASED
502502
MAPREDUCE-5177. Use common utils FileUtil#setReadable/Writable/Executable &
503503
FileUtil#canRead/Write/Execute. (Ivan Mitic via suresh)
504504

505+
MAPREDUCE-5291. Change MR App to use updated property names in
506+
container-log4j.properties. (Zhijie Shen via sseth)
507+
505508
Release 2.0.5-alpha - UNRELEASED
506509

507510
INCOMPATIBLE CHANGES

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TestMapReduceChildJVM.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ public void testCommandLine() throws Exception {
5252
" -Dhadoop.metrics.log.level=WARN" +
5353
" -Xmx200m -Djava.io.tmpdir=" + envVar("PWD") + "/tmp" +
5454
" -Dlog4j.configuration=container-log4j.properties" +
55-
" -Dyarn.app.mapreduce.container.log.dir=<LOG_DIR>" +
56-
" -Dyarn.app.mapreduce.container.log.filesize=0" +
55+
" -Dyarn.app.container.log.dir=<LOG_DIR>" +
56+
" -Dyarn.app.container.log.filesize=0" +
5757
" -Dhadoop.root.logger=INFO,CLA" +
5858
" org.apache.hadoop.mapred.YarnChild 127.0.0.1" +
5959
" 54321" +

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/util/MRApps.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,9 +450,10 @@ private static long[] getFileSizes(Configuration conf, String key) {
450450
public static void addLog4jSystemProperties(
451451
String logLevel, long logSize, List<String> vargs) {
452452
vargs.add("-Dlog4j.configuration=container-log4j.properties");
453-
vargs.add("-D" + MRJobConfig.TASK_LOG_DIR + "=" +
453+
vargs.add("-D" + YarnConfiguration.YARN_APP_CONTAINER_LOG_DIR + "=" +
454454
ApplicationConstants.LOG_DIR_EXPANSION_VAR);
455-
vargs.add("-D" + MRJobConfig.TASK_LOG_SIZE + "=" + logSize);
455+
vargs.add(
456+
"-D" + YarnConfiguration.YARN_APP_CONTAINER_LOG_SIZE + "=" + logSize);
456457
vargs.add("-Dhadoop.root.logger=" + logLevel + ",CLA");
457458
}
458459

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskLog.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
import org.apache.hadoop.io.IOUtils;
4343
import org.apache.hadoop.io.SecureIOUtils;
4444
import org.apache.hadoop.mapreduce.JobID;
45-
import org.apache.hadoop.mapreduce.MRJobConfig;
4645
import org.apache.hadoop.mapreduce.util.ProcessTree;
4746
import org.apache.hadoop.util.Shell;
47+
import org.apache.hadoop.yarn.conf.YarnConfiguration;
4848
import org.apache.log4j.Appender;
4949
import org.apache.log4j.LogManager;
5050
import org.apache.log4j.Logger;
@@ -70,7 +70,7 @@ public class TaskLog {
7070
static LocalFileSystem localFS = null;
7171

7272
public static String getMRv2LogDir() {
73-
return System.getProperty(MRJobConfig.TASK_LOG_DIR);
73+
return System.getProperty(YarnConfiguration.YARN_APP_CONTAINER_LOG_DIR);
7474
}
7575

7676
public static File getTaskLogFile(TaskAttemptID taskid, boolean isCleanup,

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -599,11 +599,6 @@ public interface MRJobConfig {
599599
// Containers.
600600
public static final String APPLICATION_TOKENS_FILE = "appTokens";
601601

602-
/** The log directory for the containers */
603-
public static final String TASK_LOG_DIR = MR_PREFIX + "container.log.dir";
604-
605-
public static final String TASK_LOG_SIZE = MR_PREFIX + "container.log.filesize";
606-
607602
public static final String MAPREDUCE_V2_CHILD_CLASS =
608603
"org.apache.hadoop.mapred.YarnChild";
609604

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestTaskLog.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,21 @@
1717
*/
1818
package org.apache.hadoop.mapred;
1919

20+
import static junit.framework.Assert.assertEquals;
21+
import static junit.framework.Assert.assertTrue;
22+
import static org.mockito.Mockito.mock;
23+
import static org.mockito.Mockito.when;
24+
2025
import java.io.File;
2126
import java.io.IOException;
2227
import java.io.InputStream;
2328

2429
import org.apache.commons.io.FileUtils;
2530
import org.apache.hadoop.mapred.TaskLog.LogName;
2631
import org.apache.hadoop.mapreduce.MRJobConfig;
32+
import org.apache.hadoop.yarn.conf.YarnConfiguration;
2733
import org.junit.Test;
2834

29-
import static junit.framework.Assert.*;
30-
import static org.mockito.Mockito.*;
31-
3235
/**
3336
* TestCounters checks the sanity and recoverability of Queue
3437
*/
@@ -42,7 +45,8 @@ public class TestTaskLog {
4245
@Test (timeout=50000)
4346
public void testTaskLog() throws IOException {
4447
// test TaskLog
45-
System.setProperty(MRJobConfig.TASK_LOG_DIR, "testString");
48+
System.setProperty(
49+
YarnConfiguration.YARN_APP_CONTAINER_LOG_DIR, "testString");
4650
assertEquals(TaskLog.getMRv2LogDir(), "testString");
4751
TaskAttemptID taid = mock(TaskAttemptID.class);
4852
JobID jid = new JobID("job", 1);
@@ -115,7 +119,7 @@ public String readTaskLog(TaskLog.LogName filter,
115119
@Test (timeout=50000)
116120
public void testTaskLogWithoutTaskLogDir() throws IOException {
117121
// TaskLog tasklog= new TaskLog();
118-
System.clearProperty(MRJobConfig.TASK_LOG_DIR);
122+
System.clearProperty(YarnConfiguration.YARN_APP_CONTAINER_LOG_DIR);
119123

120124
// test TaskLog
121125

hadoop-tools/hadoop-streaming/src/test/java/org/apache/hadoop/streaming/TestStreamingTaskLog.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ private void runStreamJobAndValidateEnv() throws IOException {
155155
String env = MapReduceTestUtil.readOutput(outputPath, mr.createJobConf());
156156
long logSize = USERLOG_LIMIT_KB * 1024;
157157
assertTrue("environment set for child is wrong", env.contains("INFO,CLA")
158-
&& env.contains("-Dyarn.app.mapreduce.container.log.dir=")
159-
&& env.contains("-Dyarn.app.mapreduce.container.log.filesize=" + logSize)
158+
&& env.contains("-Dyarn.app.container.log.dir=")
159+
&& env.contains("-Dyarn.app.container.log.filesize=" + logSize)
160160
&& env.contains("-Dlog4j.configuration="));
161161
}
162162
}

hadoop-yarn-project/CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ Release 2.1.0-beta - UNRELEASED
8484
YARN-749. Rename ResourceRequest.(get,set)HostName to
8585
ResourceRequest.(get,set)ResourceName. (acmurthy)
8686

87+
YARN-720. container-log4j.properties should not refer to mapreduce
88+
property names. (Zhijie Shen via sseth)
89+
8790
NEW FEATURES
8891

8992
YARN-482. FS: Extend SchedulingMode to intermediate queues.

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,14 @@ public class YarnConfiguration extends Configuration {
695695
*/
696696
public static boolean DEFAULT_YARN_MINICLUSTER_FIXED_PORTS = false;
697697

698+
699+
/** The log directory for the containers */
700+
public static final String YARN_APP_CONTAINER_LOG_DIR =
701+
YARN_PREFIX + "app.container.log.dir";
702+
703+
public static final String YARN_APP_CONTAINER_LOG_SIZE =
704+
YARN_PREFIX + "app.container.log.filesize";
705+
698706
////////////////////////////////
699707
// Other Configs
700708
////////////////////////////////

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/container-log4j.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ log4j.threshold=ALL
2525
#
2626

2727
#Default values
28-
yarn.app.mapreduce.container.log.dir=null
29-
yarn.app.mapreduce.container.log.filesize=100
28+
yarn.app.container.log.dir=null
29+
yarn.app.container.log.filesize=100
3030

3131
log4j.appender.CLA=org.apache.hadoop.yarn.ContainerLogAppender
32-
log4j.appender.CLA.containerLogDir=${yarn.app.mapreduce.container.log.dir}
33-
log4j.appender.CLA.totalLogFileSize=${yarn.app.mapreduce.container.log.filesize}
32+
log4j.appender.CLA.containerLogDir=${yarn.app.container.log.dir}
33+
log4j.appender.CLA.totalLogFileSize=${yarn.app.container.log.filesize}
3434

3535
log4j.appender.CLA.layout=org.apache.log4j.PatternLayout
3636
log4j.appender.CLA.layout.ConversionPattern=%d{ISO8601} %p [%t] %c: %m%n

0 commit comments

Comments
 (0)