【问题标题】:Flink Failure Recovery: what if JobManager or TaskManager failedFlink 故障恢复:如果 JobManager 或 TaskManager 失败了怎么办
【发布时间】:2020-07-29 01:26:25
【问题描述】:

我正在阅读 Flink 官方关于任务失败恢复的文档:https://ci.apache.org/projects/flink/flink-docs-stable/dev/task_failure_recovery.html

据我了解,这个文档告诉我们,如果某个任务由于某种原因失败了,Flink 可以借助 Checkpoint 机制来恢复它。

所以现在我还有两个问题:

  1. 如果 TaskManager 失败了怎么办?据我了解,一个任务分配给一个或多个插槽,插槽位于一个或多个 TaskManager 上。看了上面的文档,我知道 Flink 可以恢复失败的任务,但是如果 TaskManager 失败了,会发生什么? Flink 也能恢复吗?如果故障的TaskManager可以恢复,恢复后分配给它的任务是否可以继续自动运行?

  2. 如果 JobManager 失败了怎么办?如果 JobManager 失败了,是不是所有的 TaskManager 也会失败?如果是这样,当我在 Zookeeper 的帮助下恢复 JobManager 时,是否所有的 TaskManager 和它们的任务都会自动继续运行?

【问题讨论】:

    标签: apache-flink


    【解决方案1】:

    在一个纯粹的独立集群中,如果一个任务管理器死了,那么如果你有一个备用任务管理器正在运行,它将被使用。否则,作业管理器将等待一个新的任务管理器神奇地出现。实现这一点取决于您。另一方面,如果您使用的是 YARN、Mesos 或 Kubernetes,集群管理框架将负责确保有足够的 TM。

    对于 Job Manager 故障,在独立集群中,您应该运行备用 Job Manager,并配置 Zookeeper 进行领导者选举。使用 YARN、Mesos 和 Kubernetes,您可以让集群框架处理重启 Job Manager 或运行备用,但无论哪种情况,您仍然需要 Zookeeper 为 Job Manager 的元数据提供 HA 存储。

    任务管理器可以在作业管理器故障/恢复情况下幸存下来。不必重新启动作业。

    https://ci.apache.org/projects/flink/flink-docs-stable/ops/jobmanager_high_availability.html.

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 2011-06-14
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      相关资源
      最近更新 更多