如果某个任务失败,是否会重新启动整个作业

2023-12-07

我的工作有状态操作员并且还启用了检查点。 Staful Operator 的其中一项任务由于某种原因失败,已重新启动并恢复检查点状态。

我想问以下哪一个是重启行为:

  1. 仅重新启动并恢复失败的任务
  2. 所有操作员(包含失败的任务)的任务都将重新启动并恢复
  3. 整个作业重新启动并恢复

如果一项任务失败,是否会重新启动整个作业?

tldr:对于流作业,答案通常是肯定的,但不一定。

Flink 流作业的恢复涉及将源回退到检查点中记录的偏移量,并将状态重置回仅消耗了这些偏移量之前的数据后的状态。

仅重新启动失败的任务会导致不一致,并且无法提供精确一次语义,除非失败的任务不依赖于任何上游任务,并且没有下游任务依赖于它。

那么Flink能做的就是恢复状态并在此基础上重新启动处理故障转移区域,它考虑了作业图中的这些依赖关系。在流作业的情况下,只有当作业非常并行时,才有可能完成整个作业的恢复和重新启动。因此,在并行作业令人尴尬的情况下,只有失败的区域才会恢复并重新启动(包括从源到接收器的所有子任务),而其他区域则继续运行。

如果使用此方法jobmanager.execution.failover-strategy被设定为region,自 Flink 1.10 以来一直是默认值。

要了解更多相关信息,请参阅FLIP-1:任务失败的细粒度恢复Apache Flink 1.9.0 发布公告,其中引入了此功能。

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

如果某个任务失败,是否会重新启动整个作业 的相关文章

  • 基于 ProcessWindowFunction 的 Flink 单元测试

    如何为有状态流程函数创建单元测试 我有这样的事情 private static SingleOutputStreamOperator
  • Flink 上运行 Beam pipeline 时出现与内存段相关的 EOFException

    我正在尝试在我们的测试集群上的 Flink 上运行 Apache Beam 管道 它一直失败EOFException at org apache flink runtime io disk SimpleCollectingOutputVie
  • 我可以将自定义分区器与 group by 一起使用吗?

    假设我知道我的数据集不平衡并且我知道键的分布 我想利用它来编写一个自定义分区器 以充分利用运算符实例 我知道关于数据流 partitionCustom https ci apache org projects flink flink doc
  • 如何构建和使用flink-connector-kinesis?

    我正在尝试将 Apache Flink 与 AWS kinesis 结合使用 这document https ci apache org projects flink flink docs release 1 7 dev connector
  • Flink REST API错误:请求与预期格式JarRunRequestBody不匹配

    尝试使用下面的 REST API 远程运行 Flink 作业 但抛出错误 curl X POST H Content Type application json data type object id urn jsonschema org
  • 根据 Flink 的模式使用 GCS 文件

    由于 Flink 支持 Hadoop 文件系统抽象 并且有一个GCS连接器 https github com GoogleCloudPlatform bigdata interop 在 Google Cloud Storage 之上实现它的
  • SingleOutputStreamOperator#returns(TypeHint typeHint) 方法的 javadoc

    我正在阅读源代码SingleOutputStreamOperator returns 它的javadoc是 Adds a type information hint about the return type of this operato
  • flink集群启动错误[ERROR]无法正确获取JVM参数

    bin start cluster sh Starting cluster INFO 1 instance s of standalonesession are already running on centos1 Starting sta
  • 如何在 Flink 中引用外部 Jar

    每个人 我尝试在所有任务管理器中以将其复制到 FLINK lib 的方式在 Flink 中引用我的公司 jar 但失败了 而且我不想打包一个胖罐子 太重而且浪费时间 我认为第一种方法也不是一个好主意 因为我必须管理整个集群中的jar 有谁知
  • 如何在其他流的基础上过滤Apache flink流?

    我有两个流 一个是 Int 另一个是 json 在 json Schema 中 有一个键是一些 int 所以我需要通过与另一个整数流的键比较来过滤 json 流 那么在 Flink 中是否可能 是的 您可以使用 Flink 进行这种流处理
  • Python + Beam + Flink

    我一直在尝试让 Apache Beam 可移植性框架与 Python 和 Apache Flink 一起使用 但我似乎找不到一套完整的指令来让环境正常工作 是否有任何参考资料包含使简单的 python 管道正常工作的先决条件和步骤的完整列表
  • 在 Flink 流中使用静态 DataSet 丰富 DataStream

    我正在编写一个 Flink 流程序 其中我需要使用一些静态数据集 信息库 IB 来丰富用户事件的数据流 对于例如假设我们有一个买家的静态数据集 并且有一个传入的事件点击流 对于每个事件 我们希望添加一个布尔标志来指示事件的执行者是否是买家
  • Flink 的简单 hello world 示例

    我正在寻找 Apache flink 的 hello world 体验的最简单的示例 假设我刚刚在一个干净的盒子上安装了 flink 那么为了 让它做某事 我需要做的最低限度是什么 我意识到这很模糊 这里有一些例子 来自终端的三个 pyth
  • Flink Logging 获取作业名称或作业 ID

    我正在尝试设置 logback xml 以便它将包含与日志记录关联的 JobName 或 JobId 我还没有找到一种方法来做到这一点 是否可以 最终我想要实现的是能够将日志发送到 ElasticSearch 并用消息标记 JobName
  • Apache Flink - 如何使用 AWS Kinesis 发送和使用 POJO

    我想使用 Flink 来使用来自 Kinesis 的 POJO 是否有关于如何正确发送和反序列化消息的标准 Thanks 我用以下方法解决了它 DataStream
  • flink - 使用匕首注入 - 不可序列化?

    我使用 Flink 最新通过 git 从 kafka 流式传输到 cassandra 为了简化单元测试 我通过 Dagger 添加依赖注入 ObjectGraph 似乎已正确设置自身 但 内部对象 被 Flink 标记为 不可序列化 如果我
  • 对 Parquet 批量格式使用压缩

    从 Apache Flink 1 15 版本开始 您可以使用压缩功能将多个文件合并为一个 https nightlies apache org flink flink docs master docs connectors datastre
  • Flink 窗口:聚合并输出到接收器

    我们有一个数据流 其中每个元素都是这种类型 id String type Type amount Integer 我们想要聚合这个流并输出总和amount每周一次 目前的解决方案 Flink 管道示例如下所示 stream keyBy ty
  • 使用 GlobalWindow 在 Beam 中进行状态垃圾收集

    Apache Beam 最近推出了状态细胞 https beam apache org blog 2017 02 13 stateful processing html 通过StateSpec和 StateId注释 在 Apache Fli
  • Flink - 无法从检查点恢复

    我使用一个作业管理器和两个任务管理器在 kubernetes 上运行集群 我通过在作业运行时杀死一个任务管理器 Pod 来测试检查点机制 我在作业管理器和重新启动的任务管理器上遇到以下异常 工作经理例外 java lang Exceptio

随机推荐

  • Xcode iOS:检查用户是否已登录,如果未登录则显示不同的视图

    我正在编写一个应用程序 其中登录用户比未登录用户拥有一些额外的功能 基本上 我或多或少有 5 个选项卡 当我启动应用程序时 用户立即获得登录页面 他可以决定跳过它 如果他跳过它 他就只有 3 个选项卡 如果他登录成功的话 就会有5个 我已经
  • 存储/分配经过身份验证的用户的角色

    我正在升级站点以使用 MVC 并且正在寻找设置身份验证的最佳方法 此时 我可以通过 Active Directory 进行登录 验证用户名和密码 然后设置身份验证 cookie 如何在登录时存储用户的角色信息 以便我的控制器在用户浏览站点时
  • 使用 Gradle 在 Android 项目中混合 Java+Scala 的最简单方法是什么?

    使用 Gradle 在 Android 项目中混合 Java Scala 的最简单方法是什么 是否使用https github com saturday06 gradle android scala plugin 我问这个是因为例子grad
  • python setuptools:如何安装带有 cython 子模块的包?

    我有一个名为的 python 包pytools 它包含一个基于 cython 的子模块nms 当我安装根包 pytools 时sudo python H setup py 根包似乎已正确安装 但安装时没有复制编译nms so to usr
  • 如何读取 json.txt 并解析 json python READ TXT PYTHON

    我有一个 txt 文件 resultJSON txt txt 文件中的数据为 JSON 格式 term dog results filename 1 jpg numberID D12 filename 23 jpg number E52 我
  • Mysql Workbench Mac OS 缺少管理工具和数据导入/导出

    所有管理工具均丢失 屏幕截图中的左侧选项卡 并且数据导入和导出菜单选项不起作用 我已经下载了官方安装mysql workbench community 6 1 7 osx i686并多次尝试安装 均未成功 新创建的模式可以正常工作 并且我可
  • PYTHON:从数组中搜索文件名,然后重新定位文件

    我是 Python 新手 确实需要一些帮助 我有大量图像正在分类 我需要每 260 张图像 例如 0 260 520 780 等 然后我需要将这些图像重新定位到新文件夹 到目前为止 这是我的代码 import os os path sys
  • 如何在Python中实现多线程函数?

    我在 Python 中创建了 2 个具有循环命令的函数 为了使进程更快 我想对它们进行多线程处理 例如 def loop1 while 1 lt 2 print something def loop2 while 5 gt 4 print
  • 二元一次方程的错误答案

    我想知道是否有人能告诉我为什么我的用于求解二次方程的 python 代码不起作用 我已经检查过了 没有发现任何错误 print This program will solve quadratic equations for you prin
  • Oracle 10g 时区混乱

    SELECT TO CHAR SYSDATE YYYY MM DD HH24 MI TO CHAR CURRENT DATE YYYY MM DD HH24 MI TO CHAR SYSTIMESTAMP YYYY MM DD HH24 M
  • Android getAbsolutePath() 不返回完整路径

    我创建一个文件并使用以下代码将图像保存到其中 private File createImageFile throws IOException String timeStamp new SimpleDateFormat yyMMdd HHmm
  • Windows.Storage.KnownFolders.MusicLibrary 路径返回空

    我正在尝试获取用 C 编写的 Windows 通用应用程序中的默认音乐库文件夹路径 然而 KnownFolders MusicLibrary Path返回空字符串 同时 await KnownFolders MusicLibrary Get
  • UISearchBar 增加了 iOS 11 中的导航栏高度

    我有我的UISearchBar成为导航栏的一部分 例如 let searchBar UISearchBar some more configuration to the search bar navigationItem titleView
  • 在 Maps API V2 中导入 KML

    我有多个 KML 文件 它们是在谷歌地球中绘制的 并且包含不同的路线 现在我正在尝试使用 Maps API V2 在我的 android 项目中显示这些内容 是否有一个现有的库可以在您的 Android 项目中导入 KML 文件并在地图中显
  • 使用asp.net 5 TestServer模拟外部Api调用

    我正在尝试使用测试服务器测试我的中间件 在中间件的某个地方 我的代码通过 HttpClient 调用 api 我想通过使用第二个测试服务器来模拟这一点 但想知道这是否可能 我已经尝试过 但出现错误 尝试连接 但服务器主动拒绝 代码如下 Fa
  • pyside - 如何从 gridLayout 中删除小部件

    我在 QT Designer 中构建了一个 ui 然后使用 pyside uic 将其转换为 python 文件 然后编写了一些代码以编程方式对其进行编辑 换句话说 我有一个按钮Add Row单击时会将其自身重命名为Remove1并创建另一
  • 生成任意 18 位随机 NSInteger

    我试过这个 NSInteger numberFinal 100000000000000000 float arc4random UINT32 MAX 999999999999999999 100000000000000000 但它返回零 我
  • React:找不到模块:无法解析“react-html-parser”

    我正在尝试安装react html parser在我的 Docker 容器 客户端 中 docker compose yml client Dockerfile dev node modules src components Seeds j
  • 在 Eclipse 中为许多开发人员共享工作区

    如何在 Eclipse Helios 或 Indigo 中共享工作区 以便许多开发人员能够在一个项目中工作 我了解 SVN 但我不想使用它 各位专家能否提出一个简单的解决方案 你绝对应该使用源代码控制 无论是 SVN Git 还是其他东西
  • 如果某个任务失败,是否会重新启动整个作业

    我的工作有状态操作员并且还启用了检查点 Staful Operator 的其中一项任务由于某种原因失败 已重新启动并恢复检查点状态 我想问以下哪一个是重启行为 仅重新启动并恢复失败的任务 所有操作员 包含失败的任务 的任务都将重新启动并恢复