我想在kubernetes上运行一个flink作业,并使用(持久性)状态后端,如果任务管理器崩溃,似乎没有问题,因为它们可以询问作业管理器需要从哪个检查点进行恢复,如果我理解正确的话。
似乎崩溃的作业管理器要更加困难。在flip-6页面上我看到需要zookeeper才能知道作业管理器需要使用哪个检查点进行恢复和进行领导者选举。
由于kubernetes会在作业管理器崩溃时重新启动它,所以是否有一种方法使新的作业管理器无需设置zookeeper集群即可恢复作业呢?
我们目前正在寻找的解决方案是:当kubernetes想要终止作业管理器(例如因为它要将其移动到另一个虚拟机)并创建保存点时,但这只适用于优雅的关闭。
编辑:http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-HA-with-Kubernetes-without-Zookeeper-td15033.html 看起来很有趣,但没有后续跟进。
HighAvailabilityServices
并用它来实例化 Flink。以下 PR 可以帮助你:https://github.com/apache/flink/pull/5530。它允许提供自定义的HighAvailabilityServices
实现。 - Till Rohrmann