Hi hadoop community, I am noticing that when a container is run on the nodemanager, it always gets a random port. On our side we have the firewall active on the machines. So we try where possible to specify a range of ports in the configuration and then unblock them on the firewall.In the mapred configuration I have already made the following config:<property> <name>yarn.app.mapreduce.am.job.client.port-range</name> <value>50000-50050</value></property> <property> <name>yarn.app.mapreduce.am.webapp.port-range</name> <value>50051-50100</value></property> But when the container is launched, analyzing the syslog log (/ data / hadoop / logs / userlogs / container_e42_1643125102241_0001_01_000012 / syslog) I see the exception:
2022-01-25 15:41:06,666 WARN [main] org.apache.hadoop.ipc.Client: Failed to connect to server: rzv-db13-hd/10.216.5.15:37055: retries get failed due to exceeded maximum allowed retries number: 10java.net.NoRouteToHostException: No route to host at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531) at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:685) at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:788) at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:410) at org.apache.hadoop.ipc.Client.getConnection(Client.java:1550) at org.apache.hadoop.ipc.Client.call(Client.java:1381) at org.apache.hadoop.ipc.Client.call(Client.java:1345) at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:249) at com.sun.proxy.$Proxy8.getTask(Unknown Source) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:137) This is because port 37055 is not unlocked on the machine.verifying on the rzv-db13-hd machine, I see that the service listening on that port is: /usr/java/current8/bin/java -Djava.io.tmpdir=/data2/namenodeFsimage/yarnData/usercache/magnews/appcache/application_1643115383937_0011/container_e37_1643115383937_0011_01_000001/tmp -Dlog4j.configuration=container-log4j.properties -Dyarn.app.container.log.dir=/data/hadoop/logs/userlogs/application_1643115383937_0011/container_e37_1643115383937_0011_01_000001 -Dyarn.app.container.log.filesize=0 -Dhadoop.root.logger=INFO,CLA -Dhadoop.root.logfile=syslog -Xmx1024m org.apache.hadoop.mapreduce.v2.app.MRAppMaster Therefore the org.apache.hadoop.mapreduce.v2.app.MRAppMaster service always generates a random port at each execution.Is it possible to specify a range of ports for this App? Thanks,
