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)
This commit is contained in:
parent
622f6b65d6
commit
62b82d7f41
@ -557,6 +557,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
|
|||||||
public static final String DFS_DATANODE_HTTP_ADDRESS_KEY = "dfs.datanode.http.address";
|
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 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_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 =
|
public static final String DFS_DATANODE_MAX_RECEIVER_THREADS_KEY =
|
||||||
HdfsClientConfigKeys.DeprecatedKeys.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;
|
public static final int DFS_DATANODE_MAX_RECEIVER_THREADS_DEFAULT = 4096;
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_DEFAULT;
|
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_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_ADDRESS_KEY;
|
||||||
|
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT;
|
||||||
|
|
||||||
public class DatanodeHttpServer implements Closeable {
|
public class DatanodeHttpServer implements Closeable {
|
||||||
private final HttpServer2 infoServer;
|
private final HttpServer2 infoServer;
|
||||||
@ -99,12 +100,14 @@ public DatanodeHttpServer(final Configuration conf,
|
|||||||
|
|
||||||
Configuration confForInfoServer = new Configuration(conf);
|
Configuration confForInfoServer = new Configuration(conf);
|
||||||
confForInfoServer.setInt(HttpServer2.HTTP_MAX_THREADS, 10);
|
confForInfoServer.setInt(HttpServer2.HTTP_MAX_THREADS, 10);
|
||||||
|
int proxyPort =
|
||||||
|
confForInfoServer.getInt(DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT, 0);
|
||||||
HttpServer2.Builder builder = new HttpServer2.Builder()
|
HttpServer2.Builder builder = new HttpServer2.Builder()
|
||||||
.setName("datanode")
|
.setName("datanode")
|
||||||
.setConf(confForInfoServer)
|
.setConf(confForInfoServer)
|
||||||
.setACL(new AccessControlList(conf.get(DFS_ADMIN, " ")))
|
.setACL(new AccessControlList(conf.get(DFS_ADMIN, " ")))
|
||||||
.hostName(getHostnameForSpnegoPrincipal(confForInfoServer))
|
.hostName(getHostnameForSpnegoPrincipal(confForInfoServer))
|
||||||
.addEndpoint(URI.create("http://localhost:0"))
|
.addEndpoint(URI.create("http://localhost:" + proxyPort))
|
||||||
.setFindPort(true);
|
.setFindPort(true);
|
||||||
|
|
||||||
final boolean xFrameEnabled = conf.getBoolean(
|
final boolean xFrameEnabled = conf.getBoolean(
|
||||||
|
@ -145,6 +145,15 @@
|
|||||||
</description>
|
</description>
|
||||||
</property>
|
</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>
|
<property>
|
||||||
<name>dfs.datanode.handler.count</name>
|
<name>dfs.datanode.handler.count</name>
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user