开发者社区> 问答> 正文

Apache flink on Kubernetes - 如果jobmanager崩溃,恢复工作

我想在kubernetes上运行flink工作,使用(持久)状态后端,似乎 crashing taskmanagers 没有问题,因为他们可以向求职者询问他们需要从哪个检查点恢复,如果我理解正确的话。

crashing jobmanager似乎有点困难。在这个翻页6页面上,我读到了zookeeper,需要能够知道作业管理员需要使用什么检查点来恢复和领导者选举。

看到kubernetes会在崩溃时重新启动jobmanager,新的jobmanager是否有办法恢复作业而无需设置zookeeper集群?

我们正在研究的当前解决方案是:当kubernetes想要终止jobmanager(因为它想要将其移动到另一个vm)然后创建一个保存点,但这只适用于优雅的关闭。

展开
收起
社区小助手 2018-12-11 15:49:16 3211 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    Flink需要ZooKeeper集群才能从 JobManager crashes中恢复。不过,我认为你可以有一个轻量级实现的HighAvailabilityServices,CompletedCheckpointStore,CheckpointIDCounter并且SubmittedJobGraphStore它可以给你带来很远。

    鉴于您始终只有一个JobManager运行(不完全确定K8是否可以保证这一点)并且您有一个持久存储位置,您可以实现一个CompletedCheckpointStore从持久存储系统中检索已完成检查点(例如,读取所有存储的检查点)文件)。此外,您将拥有一个文件,其中包含当前检查点ID计数器CheckpointIDCounter以及所有提交的作业图表SubmittedJobGraphStore。因此,基本思想是将所有内容存储在可由单个JobManager访问的持久卷上。

    2019-07-17 23:19:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载

相关镜像