savepoint和checkpoint都是flink为容错提供的强大功能特性,能够自动或手动保存job的运行状态
两者区别
checkpoint:
应用定时触发,用户保存状态,会过期,内部应用失败重启的时候启用,但是手动cancel时,会删除之前的checkpoint
savepoint:
用户手动置顶,相当于状态的备份,可以在bin/flink cancel xx的时候调用,一般用于修改并行度,程序升级等等。
如果想要在程序停掉后重启,数据一致的情况下,强烈推荐使用cancel时做savepoint,当然如果程序中没有涉及到state,可以不用
触发savepoint
触发有2种方式:
1)直接触发===>bin/flink savepoint jobId [targetDirectory] [-yid yarnAppId] 针对yarn模式需要指定 -yid参数

Flink的Savepoint和Checkpoint是实现容错的关键。Checkpoint是定时触发的自动保存,用于内部故障恢复,但手动取消时会丢失。Savepoint则由用户手动触发,常用于程序升级或调整并行度,不会因job取消而丢失。触发Savepoint可通过命令行工具直接触发或在取消/停止job时触发。在数据一致性要求高的场景下,推荐使用Savepoint。在Checkpoint过程中,barrier用于分隔记录,确保数据正确划分到各个快照中。
最低0.47元/天 解锁文章
436

被折叠的 条评论
为什么被折叠?



