HDFS-9049. Make Datanode Netty reverse proxy port to be configurable. Contributed by Vinayakumar B.
(cherry picked from commit 09efdfe9e13c9695867ce4034aa6ec970c2032f1) (cherry picked from commit b3eeea0b6e27f9e74c35d2a930b541617fc7c8f2) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/34f08f74 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/34f08f74 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/34f08f74 Branch: refs/heads/branch-2.8 Commit: 34f08f740f7d03008f221fa601df27b605154349 Parents: 5d5fc4e Author: Vinayakumar B <vinayakum...@apache.org> Authored: Wed Jan 17 14:16:48 2018 +0530 Committer: Vinayakumar B <vinayakum...@apache.org> Committed: Wed Jan 17 14:24:12 2018 +0530 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java | 2 ++ .../hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java | 5 ++++- .../hadoop-hdfs/src/main/resources/hdfs-default.xml | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/34f08f74/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java index 2139921..990767a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java @@ -514,6 +514,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys { public static final String DFS_DATANODE_HTTP_ADDRESS_KEY = "dfs.datanode.http.address"; public static final int DFS_DATANODE_HTTP_DEFAULT_PORT = 50075; public static final String DFS_DATANODE_HTTP_ADDRESS_DEFAULT = "0.0.0.0:" + DFS_DATANODE_HTTP_DEFAULT_PORT; + public static final String DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT = + "dfs.datanode.http.internal-proxy.port"; public static final String DFS_DATANODE_MAX_RECEIVER_THREADS_KEY = HdfsClientConfigKeys.DeprecatedKeys.DFS_DATANODE_MAX_RECEIVER_THREADS_KEY; public static final int DFS_DATANODE_MAX_RECEIVER_THREADS_DEFAULT = 4096; http://git-wip-us.apache.org/repos/asf/hadoop/blob/34f08f74/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java ---------------------------------------------------------------------- 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 ad830f0..a3b3b65 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 @@ -74,6 +74,7 @@ import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_ADMIN; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_DEFAULT; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_KEY; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTP_ADDRESS_KEY; +import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT; public class DatanodeHttpServer implements Closeable { private final HttpServer2 infoServer; @@ -99,12 +100,14 @@ public class DatanodeHttpServer implements Closeable { Configuration confForInfoServer = new Configuration(conf); confForInfoServer.setInt(HttpServer2.HTTP_MAX_THREADS, 10); + int proxyPort = + confForInfoServer.getInt(DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT, 0); HttpServer2.Builder builder = new HttpServer2.Builder() .setName("datanode") .setConf(confForInfoServer) .setACL(new AccessControlList(conf.get(DFS_ADMIN, " "))) .hostName(getHostnameForSpnegoPrincipal(confForInfoServer)) - .addEndpoint(URI.create("http://localhost:0")) + .addEndpoint(URI.create("http://localhost:" + proxyPort)) .setFindPort(true); final boolean xFrameEnabled = conf.getBoolean( http://git-wip-us.apache.org/repos/asf/hadoop/blob/34f08f74/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml index 9b1d090..6015ac2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml @@ -146,6 +146,15 @@ </property> <property> + <name>dfs.datanode.http.internal-proxy.port</name> + <value>0</value> + <description> + The datanode's internal web proxy port. + By default it selects a random port available in runtime. + </description> +</property> + +<property> <name>dfs.datanode.handler.count</name> <value>10</value> <description>The number of server threads for the datanode.</description> --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org