本文主要是介绍(十七)Flink 容错机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
分布式快照
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:通常 checkpoints 不会被用户操纵。Flink 只保留作业运行时的最近的 n 个 checkpoints(n 可配置),并在作业取消时删除它们。但你可以将它们配置为保留,在这种情况下,你可以手动从中恢复。
- Savepoint:用户出于某种操作目的(例如有状态的重新部署/升级/缩放操作)
这篇关于(十七)Flink 容错机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!