在生产中使用哪种 Flink deleteMode?
Which Flink deleteMode to use in production?
目前我们正在使用 Savepoint
deleteMode,它会在关机时写入一个保存点。不幸的是,有时 Flink 会崩溃循环,即当重新启动时它无法写入保存点,因此它会反复尝试重新启动。在这种情况下,我们手动将 deleteMode 更改为 None
并重新启动应用程序。是否推荐使用保存点,或者检查点是否足以让 Flink 自恢复?我认为我们从未从保存点手动恢复过。
如果您安排保留检查点,如
CheckpointConfig config = env.getCheckpointConfig();
config.enableExternalizedCheckpoints(
CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
然后您就可以依靠它们进行重启和重新缩放。但是对于需要状态迁移或拓扑变化的重新部署,或者如果你正在进行 Flink 版本升级,那么建议使用保存点。
目前我们正在使用 Savepoint
deleteMode,它会在关机时写入一个保存点。不幸的是,有时 Flink 会崩溃循环,即当重新启动时它无法写入保存点,因此它会反复尝试重新启动。在这种情况下,我们手动将 deleteMode 更改为 None
并重新启动应用程序。是否推荐使用保存点,或者检查点是否足以让 Flink 自恢复?我认为我们从未从保存点手动恢复过。
如果您安排保留检查点,如
CheckpointConfig config = env.getCheckpointConfig();
config.enableExternalizedCheckpoints(
CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
然后您就可以依靠它们进行重启和重新缩放。但是对于需要状态迁移或拓扑变化的重新部署,或者如果你正在进行 Flink 版本升级,那么建议使用保存点。