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.
param: userConfiguration Configuration object with the user provided configuration values
param: useSingleActorSystem true if all actors (JobManager and TaskManager) shall be run in the
same ActorSystem
, otherwise false
Constructor and Description |
---|
FlinkMiniCluster(Configuration configuration,
boolean useSingleActorSystem) |
FlinkMiniCluster(Configuration userConfiguration,
HighAvailabilityServices highAvailabilityServices,
boolean useSingleActorSystem) |
Modifier and Type | Method and Description |
---|---|
void |
awaitTermination() |
protected void |
clearLeader() |
Configuration |
configuration() |
scala.concurrent.ExecutionContextExecutor |
executionContext() |
ScheduledExecutorService |
futureExecutor() |
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 |
getLeaderRPCPort() |
int |
getNumberOfJobManagers() |
int |
getNumberOfResourceManagers() |
com.typesafe.config.Config |
getResourceManagerAkkaConfig(int index) |
com.typesafe.config.Config |
getTaskManagerAkkaConfig(int index) |
scala.collection.Seq<akka.actor.ActorRef> |
getTaskManagers() |
List<akka.actor.ActorRef> |
getTaskManagersAsJava() |
HighAvailabilityMode |
haMode() |
void |
handleError(Exception exception)
This method is called by the
LeaderRetrievalService in case of an exception. |
HighAvailabilityServices |
highAvailabilityServices() |
String |
hostname() |
ExecutorService |
ioExecutor() |
scala.Option<scala.collection.Seq<akka.actor.ActorRef>> |
jobManagerActors() |
scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> |
jobManagerActorSystems() |
protected scala.Option<LeaderRetrievalService> |
jobManagerLeaderRetrievalService() |
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 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() |
protected Configuration |
originalConfiguration() |
scala.Option<scala.collection.Seq<akka.actor.ActorRef>> |
resourceManagerActors() |
scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> |
resourceManagerActorSystems() |
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 |
startResourceManager(int index,
akka.actor.ActorSystem system) |
akka.actor.ActorSystem |
startResourceManagerActorSystem(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) |
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, HighAvailabilityServices highAvailabilityServices, boolean useSingleActorSystem)
public FlinkMiniCluster(Configuration configuration, boolean useSingleActorSystem)
public Configuration userConfiguration()
public HighAvailabilityServices highAvailabilityServices()
public boolean useSingleActorSystem()
protected org.slf4j.Logger LOG()
public String hostname()
protected Configuration originalConfiguration()
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 HighAvailabilityMode haMode()
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()
public scala.Option<scala.collection.Seq<akka.actor.ActorSystem>> resourceManagerActorSystems()
public scala.Option<scala.collection.Seq<akka.actor.ActorRef>> resourceManagerActors()
protected scala.Option<LeaderRetrievalService> jobManagerLeaderRetrievalService()
public ScheduledExecutorService futureExecutor()
public ExecutorService ioExecutor()
public Configuration configuration()
public abstract Configuration generateConfiguration(Configuration userConfiguration)
public abstract akka.actor.ActorRef startResourceManager(int index, akka.actor.ActorSystem system)
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 int getNumberOfResourceManagers()
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 int getLeaderRPCPort()
public com.typesafe.config.Config getResourceManagerAkkaConfig(int index)
public com.typesafe.config.Config getJobManagerAkkaConfig(int index)
public com.typesafe.config.Config getTaskManagerAkkaConfig(int index)
public void setDefaultCiConfig(Configuration config)
config
- (undocumented)public akka.actor.ActorSystem startResourceManagerActorSystem(int index)
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() throws TimeoutException, InterruptedException
TimeoutException
InterruptedException
public void waitForTaskManagersToBeRegistered(scala.concurrent.duration.FiniteDuration timeout) throws TimeoutException, InterruptedException
timeout
- TimeoutException
InterruptedException
public JobExecutionResult submitJobAndWait(JobGraph jobGraph, boolean printUpdates) throws JobExecutionException
JobExecutionException
public JobExecutionResult submitJobAndWait(JobGraph jobGraph, boolean printUpdates, scala.concurrent.duration.FiniteDuration timeout) throws JobExecutionException
JobExecutionException
public JobSubmissionResult submitJobDetached(JobGraph jobGraph) throws JobExecutionException
JobExecutionException
public void shutdownJobClientActorSystem(akka.actor.ActorSystem actorSystem)
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–2018 The Apache Software Foundation. All rights reserved.