Kubernetes 上的 Apache flink - 如果 jobmanager 崩溃则恢复作业

2023-11-27

我想在 kubernetes 上运行 flink 作业,使用(持久)状态后端,似乎崩溃的任务管理器不是问题,因为如果我理解正确的话,它们可以询问作业管理器需要从哪个检查点恢复。

崩溃的 jobmanager 似乎有点困难。对此翻页 6 页我读到动物园管理员需要能够知道作业经理需要使用哪个检查点来恢复和领导者选举。

看到 kubernetes 每当崩溃时都会重新启动 jobmanager,有没有办法让新的 jobmanager 无需设置 Zookeeper 集群即可恢复作业?

目前我们正在考虑的解决方案是:当 kubernetes 想要终止 jobmanager 时(例如,因为它想要将其移动到另一个虚拟机),然后创建一个保存点,但这仅适用于正常关闭。

Edit: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-HA-with-Kubernetes-without-Zookeeper-td15033.html看起来很有趣但是没有后续


Flink 开箱即用,需要 ZooKeeper 集群才能从 JobManager 崩溃中恢复。然而,我认为你可以有一个轻量级的实现HighAvailabilityServices, CompletedCheckpointStore, CheckpointIDCounter and SubmittedJobGraphStore这可以让你走得很远。

假设你始终只有一个 JobManager 运行(不完全确定 K8s 是否能保证这一点)并且你有一个持久存储位置,你可以实现一个CompletedCheckpointStore它从持久存储系统检索已完成的检查点(例如读取所有存储的检查点文件)。此外,您将有一个文件,其中包含当前检查点 id 计数器CheckpointIDCounter以及所有提交的作业图表SubmittedJobGraphStore。因此基本思想是将所有内容存储在可由单个 JobManager 访问的持久卷上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 上的 Apache flink - 如果 jobmanager 崩溃则恢复作业 的相关文章

随机推荐

  • Spring-boot tomcat 只能提供少于 10,000 个连接?

    我正在使用 spring boot 测试服务器 然而 我在测试过程中遇到了一些问题 我的测试是 随着 Web 套接字会话 客户端数量 的增加 服务器使用多少内存 1 000 个客户端 少于 9000 个会话 进行测试没有问题 但是 当我尝试
  • 如何使用spring的MockMultipartHttpServletRequest?得到“未找到多部分边界”

    显然我没有正确使用这个测试装置 我的 servlet 在 tomcat 中工作得很好 但是当我尝试使用这个模拟时 找不到多部分边界 请求被拒绝 因为未找到多部分边界 有一个答案here显示了如何使用文本文件来使用它 但该答案显式设置了边界字
  • 从 python 中的文件中读取逗号分隔的元组

    我正在尝试从一个文件中读取多个用逗号分隔的元组 示例输入文件如下所示 0 0 0 2 0 4 1 1 0 2 1 1 1 3 1 1 1 3 1 1 1 3 1 5 2 0 2 2 3 3 2 4 3 5 4 4 5 3 6 4 5 5 7
  • 使用 ORMLite 和输出参数的 ServiceStack MARS(多个活动结果集)

    ServiceStack ORMLite 很棒 我通常会避开 ORM 心态 更喜欢构建数据库 因为构建数据库而不是 1 1 类模型更有意义 也就是说 有几件事我似乎遇到了困难 我确信这只是我的无知 First 有没有办法使用 ORMLite
  • 使用 itms-services URL 的 iOS8 应用程序无线 (OTA) 安装失败

    对于所有早期版本的 iOS 我都使用 itms services URL 无线安装测试 iOS 应用程序 OTA 现在 我的所有 iOS8 设备在尝试使用这种方法安装应用程序时都会失败 示例网址 itms services action d
  • 有没有像 Django 的 XAMPP 这样的多合一软件包?

    与 XAMPP 一样 您只需安装它并开始开发 因为 PHP MySQL Apache 等都在那里 Django 有类似的东西吗 附 我的意思只是为了在本地计算机上进行开发而不是为了部署 我见过的最接近的是Bitnami 的 DjangoSt
  • VB.Net调用New而不赋值

    In C 我可以做这个 new SomeObjectType abc 10 换句话说 我可以调用 new 而无需将创建的实例分配给任何变量 然而 在VB Net看来我不能做同样的事情 New SomeObjectType abc 10 sy
  • 如何将车把中的字符串解析为html [重复]

    这个问题在这里已经有答案了 我正在尝试将车把中的字符串解析为 html 例子 在 js file let url http google com let textref a href url Click here a in hbs file
  • 如何从 R 中的命名数值向量中检索简单的数值?

    我正在使用 R 来计算一些基本的统计结果 我正在使用 quantile 函数来计算数据框列上的分位数 如下所示 gt quantile foobars 1 0 25 50 75 100 189000 194975 219500 239950
  • 如何防止页面在表单提交后重新加载 - JQuery

    我正在为我的应用程序开发课程开发一个网站 但我遇到了最奇怪的问题 我正在使用一些 JQuery 将表单数据发送到名为 process php 的 php 页面 然后将其上传到我的数据库 奇怪的错误是 页面在提交表单后重新加载 而我或我的一生
  • 在 ggplot2 中向等值线图添加点

    我正在查看 Hadley Wickham 的以下示例ggplot2 library ggplot2 library maps states lt map data state arrests lt USArrests names arres
  • 给定一个任意的 javascript 对象,我如何找到它的方法?

    我知道这在 python 中是可能的 但是我可以获得 javascript 对象的方法列表吗 您可以循环对象中的属性并测试它们的类型 for var prop in whatever if typeof whatever prop func
  • 在文件夹迭代上实施 RAII

    我编写此代码是为了递归地循环遍历文件夹树并列出文件及其大小 以字节为单位 由于我使用的是 winapi 并且有一个Handle应该打开和关闭 我应该在此代码上实现 RAII 问题是在线论坛中给出的示例 更不用说我不是以英语为母语的人 并且包
  • 数据库表的位置 - MySQL - Windows XP

    All 这是我第一次使用 MySQL 因此列出了所有步骤 这实际上是 MySQL 的重新安装 因为我的第一次尝试失败了 我已在我的计算机上安装了最新版本的 MySQL Community Server 安装文件夹是C Program Fil
  • 如何在Java程序中使用Sqoop?

    我知道如何通过命令行使用 sqoop 但不知道如何使用java程序调用sqoop命令 谁能提供一些代码视图吗 您可以通过在类路径中包含 sqoop jar 并调用Sqoop runTool 方法 您必须以编程方式创建 sqoop 所需的参数
  • tan 45 给我 0.9999

    为什么tan 45 0 7853981633974483 弧度 给我0 9999 下面的代码有什么问题 System out println Math tan Math toRadians 45 0 我不认为这里有任何错字 那么这里的解决方
  • PHP MySQL连接持久化

    我读过很多关于 PHP 和 MySQL 之间的持久数据库连接 mysql connect 与 mysql pconnect 的内容 与 PDO 和 MySQLi 相同 这绝对是我对这一点缺乏了解 但是数据库连接如何在网页之间保持持久呢 在此
  • 如何使用 AngularJS 对多个对象应用过滤器?

    我的用户对象定义如下 scope users id 1 name Adam friends name John age 21 sex M name Brad age 32 sex M 然后我有以下代码 div div user name f
  • 从缓冲区读取时省略换行符

    我编写了以下代码 public class WriteToCharBuffer public static void main String args String text This is the data to write in buf
  • Kubernetes 上的 Apache flink - 如果 jobmanager 崩溃则恢复作业

    我想在 kubernetes 上运行 flink 作业 使用 持久 状态后端 似乎崩溃的任务管理器不是问题 因为如果我理解正确的话 它们可以询问作业管理器需要从哪个检查点恢复 崩溃的 jobmanager 似乎有点困难 对此翻页 6 页我读