diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java index a04a914..620af17 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java @@ -450,14 +450,20 @@ public void run() { } Container container = context.getContainers().get(containerId); String[] ipAndHost = containerExecutor.getIpAndHost(container); - if (ipAndHost != null && ipAndHost[0] != null - && ipAndHost[1] != null) { - container.setIpAndHost(ipAndHost); - LOG.info(containerId + "'s ip = " + ipAndHost[0] - + ", and hostname = " + ipAndHost[1]); + + if (container != null) { + if (ipAndHost != null && ipAndHost[0] != null + && ipAndHost[1] != null) { + container.setIpAndHost(ipAndHost); + LOG.info(containerId + "'s ip = " + ipAndHost[0] + + ", and hostname = " + ipAndHost[1]); + } else { + LOG.info("Can not get both ip and hostname: " + Arrays + .toString(ipAndHost)); + } } else { - LOG.info("Can not get both ip and hostname: " + Arrays - .toString(ipAndHost)); + LOG.warn(containerId + " is missing. Not setting ip and " + + "hostname"); } } }