public class MiniCluster extends Object implements AutoCloseableAsync
Modifier and Type | Class and Description |
---|---|
protected static class |
MiniCluster.CommonRpcServiceFactory
Factory which returns always the common
RpcService . |
protected class |
MiniCluster.DedicatedRpcServiceFactory
Factory which creates and registers new
RpcService . |
static class |
MiniCluster.HaServices
HA Services to use.
|
protected static interface |
MiniCluster.RpcServiceFactory
Internal factory for
RpcService . |
Constructor and Description |
---|
MiniCluster(MiniClusterConfiguration miniClusterConfiguration)
Creates a new Flink mini cluster based on the given configuration.
|
MiniCluster(MiniClusterConfiguration miniClusterConfiguration,
Supplier<Reference<RpcSystem>> rpcSystemSupplier) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close
public MiniCluster(MiniClusterConfiguration miniClusterConfiguration)
miniClusterConfiguration
- The configuration for the mini clusterpublic MiniCluster(MiniClusterConfiguration miniClusterConfiguration, Supplier<Reference<RpcSystem>> rpcSystemSupplier)
public CompletableFuture<URI> getRestAddress()
public ClusterInformation getClusterInformation()
protected Executor getIOExecutor()
public boolean isRunning()
public void start() throws Exception
Exception
- This method passes on any exception that occurs during the startup of the
mini cluster.@VisibleForTesting protected Collection<? extends DispatcherResourceManagerComponent> createDispatcherResourceManagerComponents(Configuration configuration, MiniCluster.RpcServiceFactory rpcServiceFactory, BlobServer blobServer, HeartbeatServices heartbeatServices, DelegationTokenManager delegationTokenManager, MetricRegistry metricRegistry, MetricQueryServiceRetriever metricQueryServiceRetriever, FatalErrorHandler fatalErrorHandler) throws Exception
Exception
protected DispatcherResourceManagerComponentFactory createDispatcherResourceManagerComponentFactory()
@VisibleForTesting protected HighAvailabilityServices createHighAvailabilityServices(Configuration configuration, Executor executor) throws Exception
Exception
public Optional<HaLeadershipControl> getHaLeadershipControl()
HaLeadershipControl
if enabled.
HaLeadershipControl
allows granting and revoking leadership of HA components, e.g.
JobManager. The method return Optional.empty()
if the control is not enabled in
MiniClusterConfiguration
.
Enabling this feature disables HighAvailabilityOptions.HA_MODE
option.
protected HighAvailabilityServices getHaServices()
public CompletableFuture<Void> closeAsync()
start()
method again.
This method shuts down all started services and components, even if an exception occurs in the process of shutting down some component.
closeAsync
in interface AutoCloseableAsync
public CompletableFuture<Void> closeAsyncWithoutCleaningHighAvailabilityData()
public void startTaskManager() throws Exception
When the MiniCluster starts up, it always starts MiniClusterConfiguration.getNumTaskManagers()
TaskManagers. All TaskManagers are indexed from
0 to the number of TaskManagers, started so far, minus one. This method starts a TaskManager
with the next index which is the number of TaskManagers, started so far. The index always
increases with each new started TaskManager. The indices of terminated TaskManagers are not
reused after terminateTaskManager(int)
.
Exception
@VisibleForTesting protected boolean useLocalCommunication()
@VisibleForTesting public Configuration getConfiguration()
@Internal public void overrideRestoreModeForChangelogStateBackend()
public CompletableFuture<Void> terminateTaskManager(int index)
See startTaskManager()
to understand how TaskManagers are indexed. This method
terminates a TaskManager with a given index but it does not clear the index. The index stays
occupied for the lifetime of the MiniCluster and its TaskManager stays terminated. The index
is not reused if more TaskManagers are started with startTaskManager()
.
index
- index of the TaskManager to terminateCompletableFuture
of the given TaskManager terminationpublic CompletableFuture<ArchivedExecutionGraph> getArchivedExecutionGraph(JobID jobId)
public CompletableFuture<Collection<JobStatusMessage>> listJobs()
public CompletableFuture<JobStatus> getJobStatus(JobID jobId)
public CompletableFuture<Acknowledge> cancelJob(JobID jobId)
public CompletableFuture<String> triggerSavepoint(JobID jobId, String targetDirectory, boolean cancelJob, SavepointFormatType formatType)
public CompletableFuture<String> triggerDetachedSavepoint(JobID jobId, String targetDirectory, boolean cancelJob, SavepointFormatType formatType)
public CompletableFuture<String> triggerCheckpoint(JobID jobID)
public CompletableFuture<Long> triggerCheckpoint(JobID jobID, CheckpointType checkpointType)
public CompletableFuture<String> stopWithSavepoint(JobID jobId, String targetDirectory, boolean terminate, SavepointFormatType formatType)
public CompletableFuture<String> stopWithDetachedSavepoint(JobID jobId, String targetDirectory, boolean terminate, SavepointFormatType formatType)
public CompletableFuture<Acknowledge> disposeSavepoint(String savepointPath)
public CompletableFuture<? extends AccessExecutionGraph> getExecutionGraph(JobID jobId)
public CompletableFuture<CoordinationResponse> deliverCoordinationRequestToCoordinator(JobID jobId, OperatorID operatorId, SerializedValue<CoordinationRequest> serializedRequest)
public CompletableFuture<ResourceOverview> getResourceOverview()
public void runDetached(JobGraph job) throws JobExecutionException, InterruptedException
job
- The Flink job to executeJobExecutionException
- Thrown if anything went amiss during initial job launch, or if
the job terminally failed.InterruptedException
public JobExecutionResult executeJobBlocking(JobGraph job) throws JobExecutionException, InterruptedException
job
- The Flink job to executeJobExecutionException
- Thrown if anything went amiss during initial job launch, or if
the job terminally failed.InterruptedException
public CompletableFuture<JobSubmissionResult> submitJob(JobGraph jobGraph)
public CompletableFuture<JobResult> requestJobResult(JobID jobId)
public CompletableFuture<ClusterOverview> requestClusterOverview()
@VisibleForTesting protected CompletableFuture<DispatcherGateway> getDispatcherGatewayFuture()
protected MetricRegistryImpl createMetricRegistry(Configuration config, long maximumMessageSizeInBytes)
config
- The configuration of the mini clustermaximumMessageSizeInBytes
- the maximum message sizeprotected RpcService createRemoteRpcService(Configuration configuration, String bindAddress, int bindPort, RpcSystem rpcSystem) throws Exception
configuration
- Flink configuration.bindAddress
- The address to bind the RPC service to.bindPort
- The port range to bind the RPC service to.rpcSystem
- Exception
protected RpcService createRemoteRpcService(Configuration configuration, String externalAddress, String externalPortRange, String bindAddress, RpcSystem rpcSystem) throws Exception
configuration
- Flink configuration.externalAddress
- The external address to access the RPC service.externalPortRange
- The external port range to access the RPC service.bindAddress
- The address to bind the RPC service to.rpcSystem
- Exception
protected RpcService createLocalRpcService(Configuration configuration, RpcSystem rpcSystem) throws Exception
configuration
- Flink configuration.rpcSystem
- Exception
public CompletableFuture<Void> invalidateClusterDataset(AbstractID clusterDatasetId)
public CompletableFuture<Set<AbstractID>> listCompletedClusterDatasetIds()
public CompletableFuture<Void> reportHeartbeat(JobID jobId, long expiredTimestamp)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.