[
https://issues.apache.org/jira/browse/FLINK-3074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15044916#comment-15044916
]
ASF GitHub Bot commented on FLINK-3074:
---------------------------------------
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/1416#discussion_r46819698
--- Diff:
flink-yarn/src/main/scala/org/apache/flink/yarn/ApplicationMasterBase.scala ---
@@ -120,16 +122,73 @@ abstract class ApplicationMasterBase {
config.setInteger(ConfigConstants.JOB_MANAGER_WEB_PORT_KEY, 0);
}
- val (actorSystem, jmActor, archiveActor, webMonitor) =
- JobManager.startActorSystemAndJobManagerActors(
- config,
- JobManagerMode.CLUSTER,
- streamingMode,
- ownHostname,
- 0,
- getJobManagerClass,
- getArchivistClass
- )
+ // we try to start the JobManager actor system using the port
definition
+ // from the config.
+ // first, we check if the port is available by opening a socket
+ // if the actor system fails to start on the port, we try further
+ val amPortRange: String =
config.getString(ConfigConstants.YARN_APPLICATION_MASTER_PORT,
+ ConfigConstants.DEFAULT_YARN_APPLICATION_MASTER_PORT)
+ val portsSet = NetUtils.getPortRangeFromString(amPortRange)
+
+ // Try to start the actor system with the given set of ports:
+ var startActorResultOption: Option[(ActorSystem, ActorRef, ActorRef,
Option[WebMonitor])] =
+ None
+
+ while (startActorResultOption.isEmpty && portsSet.size() > 0) {
+ if(portsSet == null) {
+ throw new RuntimeException(s"Unable to allocate port for
ApplicationMaster in " +
+ s"specified port range: $amPortRange. No more ports available")
+ }
--- End diff --
maybe linebreak after closing curly bracket.
> Make ApplicationMaster/JobManager akka port configurable
> --------------------------------------------------------
>
> Key: FLINK-3074
> URL: https://issues.apache.org/jira/browse/FLINK-3074
> Project: Flink
> Issue Type: Improvement
> Components: YARN Client
> Reporter: Robert Metzger
> Assignee: Robert Metzger
> Fix For: 1.0.0
>
>
> Similar to the BlobServer, the YARN ApplicationMaster should allow starting
> it on a specified list or range of ports.
> In cases where only certain ports are allowed by a firewall, users can
> specify a range of ports where they want the AM to allocate its RPC port
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)