Kubernetes上的Apache Flink-如果Jobmanager崩溃则恢复工作

Xel*_*eli 5 high-availability kubernetes apache-flink flink-streaming

我想在kubernetes上运行一个flink作业,使用(持久)状态后端,看来崩溃的任务管理器似乎没有问题,因为如果我理解正确的话,他们可以询问作业管理器他们需要从哪个检查点恢复。

崩溃的工作经理似乎更加困难。在这个翻转的6页上,我阅读了Zookeeper,以便能够知道工作经理需要使用哪些检查点进行恢复和领导选举。

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

我们正在查看的当前解决方案是:当kubernetes想杀死jobmanager时(例如,因为它想将其移动到另一个vm),然后创建一个保存点,但这仅适用于正常关机。

编辑:http : //apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-HA-with-Kubernetes-without-Zookeeper-td15033.html似乎很有趣,但没有关注-上

Til*_*ann 6

Flink开箱即用,需要ZooKeeper群集才能从JobManager崩溃中恢复。不过,我认为你可以有一个轻量级实现的HighAvailabilityServicesCompletedCheckpointStoreCheckpointIDCounter并且SubmittedJobGraphStore它可以给你带来很远。

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