kubernetes - Flink Statefun HA Kubernetes集群

标签 kubernetes apache-flink high-availability flink-statefun

我正在尝试在kubernetes上部署高可用性flink集群。在下面的示例中,工作节点被复制,但是我们只有一个主容器。

https://github.com/apache/flink-statefun

据我了解,有两种方法可以使作业经理成为HA。

  • https://ci.apache.org/projects/flink/flink-docs-stable/ops/jobmanager_high_availability.html
  • https://medium.com/hepsiburadatech/high-available-flink-cluster-on-kubernetes-setup-73b2baf9200e

  • 在第一个示例中,我们部署了另一个作业管理器以在发生故障时在它们之间切换
    在第二个示例中,kubernetes在失败的情况下重新部署作业管理器 Pane

    所以我有几个问题
  • 对于这两个示例,当 Activity 作业管理器发生故障时正在运行的作业会发生什么?
  • 第一种方案可以应用于kubernetes吗?
  • 对于第二种情况,如果作业管理器发生故障,则在容器恢复之前,flink UI将不可用,但是在第二种情况下,它将可用。
  • 这两种方案的优点/缺点是什么?
  • 最佳答案

    有一种方法可以使作业管理器HA,您的两个链接都是使用JM HA,并使用Zookeeper集群来创建JM的 Activity /备用架构。

  • 当JobManager失败时,会出现“故障转移”,如apache flink文档(第一个链接)中所述,备用JM变为 Activity 状态。
  • 当然,kubernetes只是整个Flink集群的部署,您仍然可以使用zk使用HA集群模式。
  • 不,两者都将进行“故障转移”,并且备用JM将变为 Activity 状态。

  • 您不了解kubernetes只是flink的部署集群,就像您可以将其部署在物理/虚拟服务器上一样,您也可以将其部署在kubernetes上,但是诸如高可用性之类的东西将保持不变。

    编辑:
    您可以在JobManager的kubernetes中创建2个或更多Pod,然后它将等于第一个解决方案。

    关于kubernetes - Flink Statefun HA Kubernetes集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61934250/

    相关文章:

    azure - 在 Azure Kubernetes 服务中使用 Helm 部署 Airflow 时在启动时安装 Linux 软件包

    Kubernetes:从 pod 连接到外部世界

    google-cloud-platform - Google Cloud Dataproc 支持的 OSS

    java - 在高可用性下处理故障转移?

    linux - 申请健康检查

    elasticsearch - 当某些节点出现故障时,Elasticsearch是否停止索引数据?

    kubernetes - 您能告诉kubernetes先启动一个Pod吗?

    kubernetes - 通过值配置仪表板

    maven - 如何通过 bazel 使用/导入 Flink 的 TestHarness 类?

    apache-flink - Apache Flink 如何处理倾斜数据?