MAPREDUCE-6338. MR AppMaster does not honor ephemeral port range. Contributed by Frank Nguyen.

This commit is contained in:
Junping Du 2017-02-05 19:28:01 -08:00
parent 3ea6d3517e
commit d401e63b6c

View File

@ -134,15 +134,14 @@ protected void registerHeartbeatHandler(Configuration conf) {
protected void startRpcServer() { protected void startRpcServer() {
Configuration conf = getConfig(); Configuration conf = getConfig();
try { try {
server = server = new RPC.Builder(conf).setProtocol(TaskUmbilicalProtocol.class)
new RPC.Builder(conf).setProtocol(TaskUmbilicalProtocol.class) .setInstance(this).setBindAddress("0.0.0.0")
.setInstance(this).setBindAddress("0.0.0.0") .setPortRangeConfig(MRJobConfig.MR_AM_JOB_CLIENT_PORT_RANGE)
.setPort(0).setNumHandlers( .setNumHandlers(
conf.getInt(MRJobConfig.MR_AM_TASK_LISTENER_THREAD_COUNT, conf.getInt(MRJobConfig.MR_AM_TASK_LISTENER_THREAD_COUNT,
MRJobConfig.DEFAULT_MR_AM_TASK_LISTENER_THREAD_COUNT)) MRJobConfig.DEFAULT_MR_AM_TASK_LISTENER_THREAD_COUNT))
.setVerbose(false).setSecretManager(jobTokenSecretManager) .setVerbose(false).setSecretManager(jobTokenSecretManager).build();
.build();
// Enable service authorization? // Enable service authorization?
if (conf.getBoolean( if (conf.getBoolean(
CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHORIZATION, CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHORIZATION,