[嗨,我正在使用从ECS
安装的docker-flink内部运行的Flink,我已通过flink-conf.yaml中的AWS S3
至state.checkpoints.dir
启用了外部检查点至S3
。现在根据Flink文档here,如果我们要在出现故障的情况下从检查点恢复,我们必须说bin/flink run -s :checkpointMetaDataPath [:runArgs]
,但我使用FLINK_HOME/bin standalone-job.sh start-foreground
。因此,我无法弄清楚在发生故障时如何从外部检查点恢复我的Flink作业。我们真的需要一些从检查点恢复的配置选项吗?无法将Cant JM作为重新启动策略的一部分自动从状态存储读取最后的偏移量吗?我是Flink的新手。请指导。提前致谢。
仅引用的Dockerfile不会启动Flink作业。它将仅启动能够执行Flink作业的Flink会话群集。下一步是使用bin/flink run
提交作业。拥有通过StreamExecutionEnvironment.enableCheckpointing
启用检查点的作业后,提交并运行该作业将为配置的位置创建检查点。
如果有retaining of checkpoints enabled,则可以取消作业,然后通过bin/flink run -s ...
从检查点恢复它。
[如果正在运行每个作业群集,其中映像已经包含用户代码jar,则可以通过以--fromSavepoint <SAVEPOINT_PATH>
作为命令行参数启动映像,从保存点恢复。请注意,需要从运行作业管理器的容器中访问<SAVEPOINT_PATH>
。