Skip to content

Commit b7da147

Browse files
author
Brandon Li
committed
HDFS-5316. Namenode ignores the default https port. Contributed by Haohui Mai
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1530150 13f79535-47bb-0310-9956-ffa450edef68
1 parent 9d7d606 commit b7da147

File tree

3 files changed

+20
-11
lines changed

3 files changed

+20
-11
lines changed

hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ Release 2.2.1 - UNRELEASED
351351
HDFS-5317. Go back to DFS Home link does not work on datanode webUI
352352
(Haohui Mai via brandonli)
353353

354+
HDFS-5316. Namenode ignores the default https port (Haohui Mai via
355+
brandonli)
356+
354357
Release 2.2.0 - 2013-10-13
355358

356359
INCOMPATIBLE CHANGES

hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public class NameNodeHttpServer {
5252
private final NameNode nn;
5353

5454
private InetSocketAddress httpAddress;
55+
private InetSocketAddress httpsAddress;
5556
private InetSocketAddress bindAddress;
5657

5758
public static final String NAMENODE_ADDRESS_ATTRIBUTE_KEY = "name.node.address";
@@ -99,14 +100,15 @@ public void start() throws IOException {
99100
boolean certSSL = conf.getBoolean(DFSConfigKeys.DFS_HTTPS_ENABLE_KEY, false);
100101
if (certSSL) {
101102
boolean needClientAuth = conf.getBoolean("dfs.https.need.client.auth", false);
102-
InetSocketAddress secInfoSocAddr = NetUtils.createSocketAddr(infoHost + ":" + conf.get(
103-
DFSConfigKeys.DFS_NAMENODE_HTTPS_PORT_KEY, "0"));
103+
httpsAddress = NetUtils.createSocketAddr(conf.get(
104+
DFSConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY,
105+
DFSConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_DEFAULT));
106+
104107
Configuration sslConf = new Configuration(false);
105-
if (certSSL) {
106-
sslConf.addResource(conf.get(DFSConfigKeys.DFS_SERVER_HTTPS_KEYSTORE_RESOURCE_KEY,
107-
"ssl-server.xml"));
108-
}
109-
httpServer.addSslListener(secInfoSocAddr, sslConf, needClientAuth);
108+
sslConf.addResource(conf.get(
109+
DFSConfigKeys.DFS_SERVER_HTTPS_KEYSTORE_RESOURCE_KEY,
110+
DFSConfigKeys.DFS_SERVER_HTTPS_KEYSTORE_RESOURCE_DEFAULT));
111+
httpServer.addSslListener(httpsAddress, sslConf, needClientAuth);
110112
// assume same ssl port for all datanodes
111113
InetSocketAddress datanodeSslPort = NetUtils.createSocketAddr(conf.get(
112114
DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_KEY, infoHost + ":" + 50475));
@@ -163,6 +165,10 @@ public InetSocketAddress getHttpAddress() {
163165
return httpAddress;
164166
}
165167

168+
public InetSocketAddress getHttpsAddress() {
169+
return httpsAddress;
170+
}
171+
166172
/**
167173
* Sets fsimage for use by servlets.
168174
*

hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestNameNodeHttpServer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ public void testSslConfiguration() throws IOException {
3131
System.setProperty("jetty.ssl.password", "foo");
3232
System.setProperty("jetty.ssl.keypassword", "bar");
3333

34-
MiniDFSCluster dfsCluster = new MiniDFSCluster.Builder(conf)
35-
.numDataNodes(0).build();
36-
dfsCluster.waitActive();
37-
dfsCluster.shutdown();
34+
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0)
35+
.build();
36+
37+
cluster.shutdown();
3838
}
3939
}

0 commit comments

Comments
 (0)