目录
分布式快照
Checkpoint
Checkpoint 模式
Checkpoint 配置
非对齐 Checkpointing
状态存储
Savepoint
分配算子 ID
Savepoint 操作
Checkpoint 与 Savepoint 区别
作业重启与故障恢复策略
重启策略
恢复策略
对于不间断 24 小时运行的程序来说,容错至关重要。Flink 定期对每个算子的所有状态进行持久化快照,并将这些快照复制到更持久的地方,例如分布式文件系统。如果发生故障,Flink 可以恢复应用程序的完整状态并恢复处理,就好像没有出现任何问题一样。
本章我们针对 Checkpoint、Savepoint、作业重启调度策略做详细介绍。
分布式快照
Flink 容错机制的核心部分是绘制分布式数据流和算子状态的一致快照。这些快照充当一致的检查点,系统在发生故障时可以回退到这些检查点。Flink 绘制这些快照的灵感来自分布式快照的标准 Chandy-Lamport 算法,并专门针对 Flink 的执行模型进行了定制。
- 快照:是 Flink 作业状态全局一致镜像的通用术语。快照包括指向每个数据源的指针(例如,到文件或 Kafka 分区的偏移量)以及每个作业的有状态运算符的状态副本,该状态副本是处理了 sources 偏移位置之前所有的事件后而生成的状态。
- Checkpoint:一种由 Flink 自动执行的快照,其目的是能够从故障中恢复。Checkpoints 可以是增量的,并为快速恢复进行了优化。
- 外部化的 Checkpoint:通常 checkpoin