From 75235149afbd4e1bc51c2d553763a35d68e94d01 Mon Sep 17 00:00:00 2001 From: Varun Vasudev Date: Wed, 15 Jun 2016 12:42:44 +0530 Subject: [PATCH] YARN-5223. Container line in yarn logs output for a live application should include the hostname for the container. Contributed by Xuan Gong. (cherry picked from commit 25064fb2fb79751cedbb8019900d811e07549ecf) --- .../main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java | 3 ++- .../java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java | 2 ++ .../org/apache/hadoop/yarn/logaggregation/LogCLIHelpers.java | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java index c9094023ced..ebd5428810e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java @@ -393,7 +393,8 @@ public class LogsCLI extends Configured implements Tool { newOptions.setLogTypes(matchedFiles); Client webServiceClient = Client.create(); - String containerString = "\n\nContainer: " + containerIdStr; + String containerString = "\n\nContainer: " + containerIdStr + " on " + + nodeId; out.println(containerString); out.println(StringUtils.repeat("=", containerString.length())); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java index db40b50e14a..10047e38333 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java @@ -463,6 +463,8 @@ public class TestLogsCLI { "Hello container_0_0001_01_000003 in syslog!")); assertTrue(sysOutStream.toString().contains( "Hello container_0_0001_01_000003 in stdout!")); + assertTrue(sysOutStream.toString().contains( + containerId3 + " on " + LogAggregationUtils.getNodeString(nodeId))); sysOutStream.reset(); fs.delete(new Path(remoteLogRootDir), true); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/LogCLIHelpers.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/LogCLIHelpers.java index 26b2b01abcc..e2e3b34d801 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/LogCLIHelpers.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/LogCLIHelpers.java @@ -153,7 +153,8 @@ public class LogCLIHelpers implements Configurable { AggregatedLogFormat.LogReader reader = null; PrintStream out = createPrintStream(localDir, fileName, containerId); try { - String containerString = "\n\nContainer: " + containerId; + String containerString = "\n\nContainer: " + containerId + " on " + + thisNodeFile.getPath().getName(); out.println(containerString); out.println(StringUtils.repeat("=", containerString.length())); reader = @@ -220,7 +221,7 @@ public class LogCLIHelpers implements Configurable { thisNodeFile.getPath()); out = createPrintStream(localDir, thisNodeFile.getPath().getName(), containerId); - out.println(containerId); + out.println(containerId + " on " + thisNodeFile.getPath().getName()); out.println(StringUtils.repeat("=", containerId.length())); if (logType == null || logType.isEmpty()) { if (dumpAContainerLogs(containerId, reader, out,