diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java index ada8a9cdb2917..65c6c8e2cd5b7 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java @@ -221,8 +221,9 @@ public static File getTestDir() { prop = DEFAULT_TEST_DATA_DIR; } File dir = new File(prop).getAbsoluteFile(); - dir.mkdirs(); - assertExists(dir); + if (dir.mkdirs() && !dir.exists()) { + throw new IllegalStateException("Directory " + dir + " not created"); + } return dir; } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java index 3a1b1e07f3682..7ee9a4b17299d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java @@ -1562,7 +1562,10 @@ private void initIpcServer() throws IOException { DFSUtil.addInternalPBProtocol(getConf(), InterDatanodeProtocolPB.class, service, ipcServer); - LOG.info("Opened IPC server at {}", ipcServer.getListenerAddress()); + InetSocketAddress listenerAddress = ipcServer.getListenerAddress(); + LOG.info("Opened IPC server at {}", listenerAddress); + dnConf.getConf().set(DFS_DATANODE_IPC_ADDRESS_KEY, + listenerAddress.getHostName() + ":" + listenerAddress.getPort()); // set service-level authorization security policy if (getConf().getBoolean( diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java index bd8c7378e8a32..f2800f2ba56aa 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java @@ -303,7 +303,9 @@ public void start() throws IOException { if (httpServer != null) { InetSocketAddress infoAddr = DataNode.getInfoAddr(conf); httpAddress = getChannelLocalAddress(httpServer, infoAddr); - LOG.info("Listening HTTP traffic on " + httpAddress); + conf.set(DFSConfigKeys.DFS_DATANODE_HTTP_ADDRESS_KEY, + NetUtils.getHostPortString(httpAddress)); + LOG.info("Listening for HTTP traffic on {}", httpAddress); } if (httpsServer != null) { @@ -312,7 +314,9 @@ public void start() throws IOException { DFS_DATANODE_HTTPS_ADDRESS_KEY, DFS_DATANODE_HTTPS_ADDRESS_DEFAULT)); httpsAddress = getChannelLocalAddress(httpsServer, secInfoSocAddr); - LOG.info("Listening HTTPS traffic on " + httpsAddress); + conf.set(DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_KEY, + NetUtils.getHostPortString(httpsAddress)); + LOG.info("Listening for HTTPS traffic on {}", httpsAddress); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java index af527df28bf7c..8a7158d536e5e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java @@ -54,12 +54,17 @@ import org.glassfish.jersey.internal.inject.AbstractBinder; import org.glassfish.jersey.server.ResourceConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Encapsulates the HTTP server started by the NameNode. */ @InterfaceAudience.Private public class NameNodeHttpServer { + + private static final Logger LOG = LoggerFactory.getLogger(NameNodeHttpServer.class); + private HttpServer2 httpServer; private final Configuration conf; private final NameNode nn; @@ -185,14 +190,20 @@ void start() throws IOException { int connIdx = 0; if (policy.isHttpEnabled()) { httpAddress = httpServer.getConnectorAddress(connIdx++); - conf.set(DFSConfigKeys.DFS_NAMENODE_HTTP_ADDRESS_KEY, - NetUtils.getHostPortString(httpAddress)); + if (httpAddress != null) { + conf.set(DFSConfigKeys.DFS_NAMENODE_HTTP_ADDRESS_KEY, + NetUtils.getHostPortString(httpAddress)); + LOG.info("Listening for HTTP traffic on {}", httpAddress); + } } if (policy.isHttpsEnabled()) { httpsAddress = httpServer.getConnectorAddress(connIdx); - conf.set(DFSConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY, - NetUtils.getHostPortString(httpsAddress)); + if (httpsAddress != null) { + conf.set(DFSConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY, + NetUtils.getHostPortString(httpsAddress)); + LOG.info("Listening for HTTPS traffic on {}", httpsAddress); + } } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/datanode/datanode.html b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/datanode/datanode.html index 28cba0153c14d..b97fe053e7d81 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/datanode/datanode.html +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/datanode/datanode.html @@ -68,7 +68,7 @@