【问题标题】:Recovery with a single JobManager使用单个 JobManager 进行恢复
【发布时间】:2018-09-06 22:03:30
【问题描述】:

我正在尝试恢复我的工作并在我的工作经理出现故障并且我无法成功重新启动工作时状态。

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

我想知道是否有办法在没有 zookeeper 的情况下恢复 jobmanager?

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

当所有的job manager都宕机了,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 被删除,但我不知道如何解决这个问题。

【问题讨论】:

    标签: apache-flink


    【解决方案1】:

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

    【讨论】:

    • 我可以使用 Zookeeper 并等待单个 jobmanager 重启吗?还是我必须有一个待机空转?
    • 拥有一个重新启动的JobManager 将起作用。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多