checkpoint:savepoint底层也是checkpoint实现,Flink的算子state容错机制,
.uid用于savepoint恢复数据。
原理架构介绍:
checkpoint 把state 拉取到一个存储内。Source的operater state(存kafka offset)和 Keyed state(存计算值)
恢复流程:某个算子失败时,重启任务
checkpoint数据塞回去
以上虽然可以保证数据备份和恢复,但是有一个缺陷:checkpoint时间轮执行效率低,为了保证算子事务性需要锁,不能高性能。算法来解决:
这个算法优化了传统的快照:
1、传统方式,所有算子到位后拍照,但是需要停止,否则新算子会加入:
2、Flink快照方式,对每个算子进行拍照,按照序号编排顺序:
默认条件下,checkpoint是不启用的。配置方式如下:
出问题了,Checkpoint自动重启
1、间隔多久重启,最好选第二种代码设置,因为个性化。
2、失败次数重启
3、失败了不重启
以下是一个手动试验用的非必须掌握,生产checkpoint是自动的.
https://zhuanlan.zhihu.com/p/94594551