使用单个JobManager进行恢复

时间:2018-09-06 22:03:31

标签: apache-flink

我正在尝试恢复我的工作,并说明我的工作经理何时下班并且我无法成功重新启动我的工作。

据我了解,TaskManager的恢复是由JobManager辅助的(这可以按预期工作),而JobManager的恢复是通过Zookeeper完成的。

我想知道是否有一种方法可以在没有动物园管理员的情况下恢复工作经理?

我正在使用docker进行设置,所有检查点和保存点都将持久保存到映射的卷中。

所有工作经理都辞职后,flink是否能够恢复?我可以等待单个JobManager重新启动。

重新启动作业管理器时,出现以下异常:org.apache.flink.runtime.rest.NotFoundException: Job 446f4392adc32f8e7ba405a474b49e32 not found

我在flink-conf.yaml

中设置了以下内容
state.backend: filesystem
state.checkpoints.dir: file:///opt/flink/checkpoints
state.savepoints.dir: file:///opt/flink/savepoints

我认为我的问题可能是在重新启动作业管理器时删除JAR,但我不确定如何解决此问题。

2 个答案:

答案 0 :(得分:1)

目前,如果您使用的是ZooKeeper,Flink仅支持从JobManager故障中恢复。但是,从理论上讲,如果可以保证只运行一个JobManager,也可以在没有它的情况下使它工作。有关更多信息,请参见此answer

答案 1 :(得分:0)

您可以签出将集群作为“ Flink Job Cluster”运行。容器启动时,这将自动启动您烘焙到docker映像中的作业。您可以阅读更多here