flink从外部检查点问题恢复

0s0u357o  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(792)

我使用的是flink在docker flink安装的ecs中运行。我已经启用了外部化的检查点到awss3 state.checkpoints.dir 至flink-conf.yaml中的s3。
现在根据Flink这里的文件,如果我们想从一个检查点恢复,以防失败,我们必须说 bin/flink run -s :checkpointMetaDataPath [:runArgs] 但我用 FLINK_HOME/bin standalone-job.sh start-foreground . 所以我不知道我的flink工作在失败的情况下如何从外部化的检查点恢复。
我们真的需要一些从检查点恢复的配置选项吗?作为重启策略的一部分,jm不能自动从状态存储读取最后的偏移量吗?我是Flink的新手。

vatpfxk5

vatpfxk51#

仅仅引用dockerfile无法启动flink作业。它只会启动一个能够执行flink作业的flink会话集群。下一步是使用 bin/flink run 提交工作。一旦你有了一个作业,它通过 StreamExecutionEnvironment.enableCheckpointing ,提交并运行它将为配置的位置创建检查点。
如果启用了保留检查点,则可以取消作业并通过从检查点恢复作业 bin/flink run -s ... .

作业群集

如果正在运行每个作业群集,其中映像已经包含用户代码jar,则可以从保存点恢复,方法是使用 --fromSavepoint <SAVEPOINT_PATH> 作为命令行参数。请注意 <SAVEPOINT_PATH> 需要从运行作业管理器的容器访问。

更新

以便在使用时从检查点恢复 standalone-job.sh 你得打电话

FLINK_HOME/bin/standalone-job.sh start-foreground --fromSavepoint <SAVEPOINT/CHECKPOINT_PATH>

相关问题