public abstract class FlinkMiniCluster extends Object implements LeaderRetrievalListener
JobManager
and one or multiple
TaskManager
. Depending on the settings, the different
actors can all be run in the same ActorSystem
or each one in its own.
Constructor and Description |
---|
FlinkMiniCluster(Configuration userConfiguration,
boolean useSingleActorSystem) |
Modifier and Type | Method and Description |
---|---|
void |
awaitTermination() |
protected void |
clearLeader() |
Configuration |
configuration() |
protected LeaderRetrievalService |
createLeaderRetrievalService() |
scala.concurrent.ExecutionContextExecutor |
executionContext() |
Object |
futureLock()
Future lock
|
abstract Configuration |
generateConfiguration(Configuration userConfiguration) |
com.typesafe.config.Config |
getJobManagerAkkaConfig(int index) |
List<akka.actor.ActorRef> |
getJobManagersAsJava() |
ActorGateway |
getLeaderGateway(scala.concurrent.duration.FiniteDuration timeout) |
scala.concurrent.Future<ActorGateway> |
getLeaderGatewayFuture() |
int |
getLeaderIndex(scala.concurrent.duration.FiniteDuration timeout) |
scala.concurrent.Future<Object> |
getLeaderIndexFuture() |
int |
getNumberOfJobManagers() |
com.typesafe.config.Config |
getTaskManagerAkkaConfig(int index) |
scala.collection.Seq<akka.actor.ActorRef> |
getTaskManagers() |
List<akka.actor.ActorRef> |
getTaskManagersAsJava() |
void |
handleError(Exception exception)
This method is called by the
LeaderRetrievalService in case of an exception. |
String |
hostname() |
scala.Option<scala.collection.Seq<akka.actor.ActorRef>> |
jobManagerActors() |
scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> |
jobManagerActorSystems() |
scala.concurrent.Promise<ActorGateway> |
leaderGateway()
Future to the
ActorGateway of the current leader |
scala.concurrent.Promise<Object> |
leaderIndex()
Future to the index of the current leader
|
protected scala.Option<LeaderRetrievalService> |
leaderRetrievalService() |
protected org.slf4j.Logger |
LOG() |
void |
notifyLeaderAddress(String address,
UUID leaderSessionID)
This method is called by the
LeaderRetrievalService when a new leader is elected. |
int |
numJobManagers() |
int |
numTaskManagers() |
RecoveryMode |
recoveryMode() |
boolean |
running() |
void |
setDefaultCiConfig(Configuration config)
Sets CI environment (Travis) specific config defaults.
|
protected void |
shutdown() |
void |
shutdownJobClientActorSystem(akka.actor.ActorSystem actorSystem) |
void |
start() |
void |
start(boolean waitForTaskManagerRegistration) |
akka.actor.ActorSystem |
startJobClientActorSystem(JobID jobID) |
abstract akka.actor.ActorRef |
startJobManager(int index,
akka.actor.ActorSystem system) |
akka.actor.ActorSystem |
startJobManagerActorSystem(int index) |
abstract akka.actor.ActorRef |
startTaskManager(int index,
akka.actor.ActorSystem system) |
akka.actor.ActorSystem |
startTaskManagerActorSystem(int index) |
scala.Option<WebMonitor> |
startWebServer(Configuration config,
akka.actor.ActorSystem actorSystem,
String jobManagerAkkaURL) |
void |
stop() |
JobExecutionResult |
submitJobAndWait(JobGraph jobGraph,
boolean printUpdates) |
JobExecutionResult |
submitJobAndWait(JobGraph jobGraph,
boolean printUpdates,
scala.concurrent.duration.FiniteDuration timeout) |
JobExecutionResult |
submitJobAndWait(JobGraph jobGraph,
boolean printUpdates,
scala.concurrent.duration.FiniteDuration timeout,
LeaderRetrievalService leaderRetrievalService) |
JobSubmissionResult |
submitJobDetached(JobGraph jobGraph) |
scala.Option<scala.collection.Seq<akka.actor.ActorRef>> |
taskManagerActors() |
scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> |
taskManagerActorSystems() |
scala.concurrent.duration.FiniteDuration |
timeout() |
Configuration |
userConfiguration() |
boolean |
useSingleActorSystem() |
void |
waitForTaskManagersToBeRegistered()
Waits with the default timeout until all task managers have registered at the job manager
|
void |
waitForTaskManagersToBeRegistered(scala.concurrent.duration.FiniteDuration timeout)
Waits until all task managers have registered at the job manager until the timeout is reached.
|
scala.Option<WebMonitor> |
webMonitor() |
public FlinkMiniCluster(Configuration userConfiguration, boolean useSingleActorSystem)
public Configuration userConfiguration()
public boolean useSingleActorSystem()
protected org.slf4j.Logger LOG()
public String hostname()
public Configuration configuration()
public scala.concurrent.Promise<ActorGateway> leaderGateway()
ActorGateway
of the current leaderpublic scala.concurrent.Promise<Object> leaderIndex()
public Object futureLock()
public scala.concurrent.ExecutionContextExecutor executionContext()
public scala.concurrent.duration.FiniteDuration timeout()
public RecoveryMode recoveryMode()
public int numJobManagers()
public int numTaskManagers()
public scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> jobManagerActorSystems()
public scala.Option<scala.collection.Seq<akka.actor.ActorRef>> jobManagerActors()
public scala.Option<WebMonitor> webMonitor()
public scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> taskManagerActorSystems()
public scala.Option<scala.collection.Seq<akka.actor.ActorRef>> taskManagerActors()
protected scala.Option<LeaderRetrievalService> leaderRetrievalService()
public abstract Configuration generateConfiguration(Configuration userConfiguration)
public abstract akka.actor.ActorRef startJobManager(int index, akka.actor.ActorSystem system)
public abstract akka.actor.ActorRef startTaskManager(int index, akka.actor.ActorSystem system)
public int getNumberOfJobManagers()
public List<akka.actor.ActorRef> getJobManagersAsJava()
public scala.collection.Seq<akka.actor.ActorRef> getTaskManagers()
public List<akka.actor.ActorRef> getTaskManagersAsJava()
public scala.concurrent.Future<ActorGateway> getLeaderGatewayFuture()
public ActorGateway getLeaderGateway(scala.concurrent.duration.FiniteDuration timeout)
public scala.concurrent.Future<Object> getLeaderIndexFuture()
public int getLeaderIndex(scala.concurrent.duration.FiniteDuration timeout)
public com.typesafe.config.Config getJobManagerAkkaConfig(int index)
public com.typesafe.config.Config getTaskManagerAkkaConfig(int index)
public void setDefaultCiConfig(Configuration config)
public akka.actor.ActorSystem startJobManagerActorSystem(int index)
public akka.actor.ActorSystem startTaskManagerActorSystem(int index)
public akka.actor.ActorSystem startJobClientActorSystem(JobID jobID)
public void start()
public void start(boolean waitForTaskManagerRegistration)
public scala.Option<WebMonitor> startWebServer(Configuration config, akka.actor.ActorSystem actorSystem, String jobManagerAkkaURL)
public void stop()
protected void shutdown()
public void awaitTermination()
public boolean running()
public void waitForTaskManagersToBeRegistered()
TimeoutException
InterruptedException
public void waitForTaskManagersToBeRegistered(scala.concurrent.duration.FiniteDuration timeout)
timeout
- TimeoutException
InterruptedException
public JobExecutionResult submitJobAndWait(JobGraph jobGraph, boolean printUpdates)
public JobExecutionResult submitJobAndWait(JobGraph jobGraph, boolean printUpdates, scala.concurrent.duration.FiniteDuration timeout)
public JobExecutionResult submitJobAndWait(JobGraph jobGraph, boolean printUpdates, scala.concurrent.duration.FiniteDuration timeout, LeaderRetrievalService leaderRetrievalService)
public JobSubmissionResult submitJobDetached(JobGraph jobGraph)
public void shutdownJobClientActorSystem(akka.actor.ActorSystem actorSystem)
protected LeaderRetrievalService createLeaderRetrievalService()
protected void clearLeader()
public void notifyLeaderAddress(String address, UUID leaderSessionID)
LeaderRetrievalListener
LeaderRetrievalService
when a new leader is elected.notifyLeaderAddress
in interface LeaderRetrievalListener
address
- The address of the new leaderleaderSessionID
- The new leader session IDpublic void handleError(Exception exception)
LeaderRetrievalListener
LeaderRetrievalService
in case of an exception. This
assures that the LeaderRetrievalListener
is aware of any problems occurring in the
LeaderRetrievalService
thread.handleError
in interface LeaderRetrievalListener
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.