当前位置: 首页 > 知识库问答 >
问题:

在执行纱线应用程序终止并再次运行后,flink会从上一个偏移恢复吗?

高泳
2023-03-14

我使用FlinkKafkaConsumer消费Kafka并启用检查点。现在我对偏移管理和检查点机制有点困惑。我已经知道flink将开始读取消费群体的分区。https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html#kafka-使用者开始定位配置,偏移量将存储到远程文件系统的检查点中<代码>https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html#kafka-消费者和容错

如果我通过执行yarn应用程序kill appid停止应用程序,然后像运行start命令那样运行start命令,会发生什么情况/bin flink跑步 ?flink会从checkpoint或kafka管理的组id获得偏移量吗?


共有1个答案

史智志
2023-03-14

如果您在没有定义保存点的情况下再次运行作业($bin/flink run-s: savepoint Path[: runArgs])flink将尝试从kafka获取您的消费者组的偏移量(在zoomaster的旧版本中)。但是您会丢失flink作业的所有其他状态(如果您有一个无状态的flink作业,这可能是可以忽略的)。

我必须承认,这种行为很令人困惑。默认情况下,启动没有保存点的作业就像从零开始一样。据我所知,只有Kafka来源的实现不同于这种行为。如果你想改变这种行为,你可以将FlinkKafkaConsumer[2010年9月8日]的setstartfromgroupoffset设置为false。此处描述:Kafka消费者开始位置配置

也许值得仔细看看flink的文档:什么是保存点,它与检查点有何不同。

简而言之

检查站:

检查点的主要目的是在意外作业失败时提供恢复机制。检查点的生命周期由Flink管理

保存点:

保存点由用户创建、拥有和删除。它们的用例用于计划、手动备份和恢复

目前正在讨论如何“统一”保存点和检查点。在这里可以找到许多技术细节:Flink即兴47:检查点与保存点

 类似资料:
  • 我们正在hadoop 2.6集群上运行Flink 1.5.0纱线会话/料仓/纱线会话。但是,这不会启动任何TaskManager。日志显示Flink JobManager以领导者id 000000开始。。。在JobManager web界面中也没有任务管理器。当我们向这个jobManager提交flink作业时,一些TaskManManager会在执行作业的web界面上生成。这是Flink1.5.

  • 我试着运行一个程序,使用线程显示带有数字的乘法、除法、加法和减法表。 但是我希望数字被乘以或相加等。由用户选择。 也就是说,程序应该在用户为每个操作选择一个数字后运行,然后显示结果。

  • 更新了问题和图像。 是否有任何方法可以暂停所有线程,直到任何线程执行samplerA为止(不管线程数是多少,这只需要执行一次),在执行这个sampler之后,所有线程都可以继续执行。单击以获取图像

  • 我正在开发一个java应用程序,其中我使用java swing窗体和javafx FXML stage,我对javafx是新手,现在我在应用程序中调用具有控制器的javafx FXML stage,从swing窗体调用FXML stage,单击如下按钮----application.launch(myfxml.class); 下面的代码片段用于调用swing表单-- 我得到的异常是“应用程序启动必

  • 背景: 我有一个运行的python脚本。它包含许多在循环中调用。 如果我按ctrlC,它只是停止执行当前的并传递到下一个。 问题: 如何停止整个脚本的执行,而不仅仅是当前调用的可执行文件的执行? 请注意,我已经仔细阅读了这里的问题/答案,但是即使使用,我也可以杀死可执行文件,但不能杀死整个脚本(我无法使用找到)。 我必须停止脚本(不重新启动系统)的唯一方法是继续在循环中按ctrl C,直到所有测试

  • 问题内容: 对于我的应用程序,我创建作业并使用CronTriggers计划它们。每个作业只有一个触发器,并且作业名称和触发器名称都相同。没有作业共享触发器。 现在,当我创建像这样的cron触发器 “ 0/1 * * 吗?” 它指示作业每秒钟执行一次,效果很好。 当我第一次通过以下方式暂停工作时,问题就出现了: 然后假设50秒后恢复工作: 我看到的是,在这50秒钟中,作业没有按要求执行。但是当我恢复