Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Abandoned
-
1.8.0, 1.9.0, 2.0.0
-
None
-
Flink on k8 and Mini cluster
Description
In the current Flink implementation, HA support can be implemented either using Zookeeper or Custom Factory class.
Add HA implementation based on PVC. The idea behind this implementation
is as follows:
- Because implementation assumes a single instance of Job manager (Job manager selection and restarts are done by K8 Deployment of 1)
URL management is done using StandaloneHaServices implementation (in the case of cluster) and EmbeddedHaServices implementation (in the case of mini cluster) - For management of the submitted Job Graphs, checkpoint counter and completed checkpoint an implementation is leveraging the following file system layout
ha -----> root of the HA data checkpointcounter -----> checkpoint counter folder <job ID> -----> job id folder <counter file> -----> counter file <another job ID> -----> another job id folder ........... completedCheckpoint -----> completed checkpoint folder <job ID> -----> job id folder <checkpoint file> -----> checkpoint file <another checkpoint file> -----> checkpoint file ........... <another job ID> -----> another job id folder ........... submittedJobGraph -----> submitted graph folder <job ID> -----> job id folder <graph file> -----> graph file <another job ID> -----> another job id folder ...........
An implementation should overwrites 2 of the Flink files:
- HighAvailabilityServicesUtils - added `FILESYSTEM` option for picking HA service
- HighAvailabilityMode - added `FILESYSTEM` to available HA options.
The actual implementation adds the following classes:
- `FileSystemHAServices` - an implementation of a `HighAvailabilityServices` for file system
- `FileSystemUtils` - support class for creation of runtime components.
- `FileSystemStorageHelper` - file system operations implementation for filesystem based HA
- `FileSystemCheckpointRecoveryFactory` - an implementation of a `CheckpointRecoveryFactory`for file system
- `FileSystemCheckpointIDCounter` - an implementation of a `CheckpointIDCounter` for file system
- `FileSystemCompletedCheckpointStore` - an implementation of a `CompletedCheckpointStore` for file system
- `FileSystemSubmittedJobGraphStore` - an implementation of a `SubmittedJobGraphStore` for file system
Attachments
Issue Links
- relates to
-
FLINK-17598 Implement FileSystemHAServices for native K8s setups
- Closed
- links to