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

如何从代码重新启动Flink作业

宋高扬
2023-03-14

有人能给这点启示吗?

共有1个答案

秦胡媚
2023-03-14

我认为,通过代码取消flink作业的最简单的方法是使用rest api。参见:https://ci.apache.org/projects/flink/flink-docs-release-1.2/monitoring/rest_api.html#job-canceting

然后可以在Flink-Code的main类中定义重启策略。就像

final int restartAttempts = configuration.getInteger(RESTART_ATTEMPTS, 3);
final int delayBtwAttempts = configuration.getInteger(RESTART_DELAY_IN_MILLIS, 3000);
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setRestartStrategy(fixedDelayRestart(restartAttempts, delayBtwAttempts));

参见:https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/restart_strategies.html

 类似资料:
  • 我的目标是杀死Flink任务管理器,然后在Windows上重新启动它。这是刺激Flink中的错误所必需的,这样我就可以看到检查点的工作。我已经设法找到了任务管理器PID通过查找PID对它侦听的端口。所以杀死PID应该杀死taskManager,但是我找不到在windows上重启Flink taskManager的方法,因为taskManager脚本是一个外壳脚本。请帮助我在以下两个问题。 如何在W

  • 问题内容: 我以前在Android Studio上开发过Android应用程序。一切正常。 我在真实设备上工作,Android Studio可以毫无问题地识别它。 突然,当我退出android studio并断开连接并重新连接设备时,它不再识别我的设备,我必须退出并重新启动Android Studio。 我找不到像Android Studio这样的“重置adb”方法。 我按照下面的说明(工具->

  • 问题内容: 我编写了一个任务,通过套接字发送某些TCP消息。我有一个包含一堆消息和一些时间戳的文件,因此我将该任务编程为TimerTask,并使用带有第一个消息时间戳的Timer对其进行了调度。 完成后,任务运行方法结束,但其关联的线程仍然存在,不会被取消。如果我尝试使用新的时间重新安排任务,则会收到异常消息,通知我无法重新安排已安排的任务或取消的任务。 在重新计划之前,我也尝试过使用cancel

  • 我有一个临时作业,通过KafkaSource被配置为收听主题的正则表达式,类似于: Kafka Consumers Start Position配置设置为startFromLatest,如下所示: 我们通过配置传递topicPattern,有时一个新的Kafka制作人会生成数据,比如说,然后我们通过添加这个新主题来更新配置,并使用保存点重新启动作业。 在本例中,我们注意到Kafka资料从一开始就阅

  • 问题内容: 我在node.js应用程序中将kue用于延迟的工作。 我有一些问题需要弄清楚如何才能使用kue的API重新启动作业,而不必使用redis命令将作业的ID从失败的作业列表手动移至非活动的作业列表。 使用kue可以吗? 我不想设置固定的重试次数-我只想重试特定的作业。 也欢迎提出关于维护良好的替代kue的建议。 问题答案: 我不知道这是否有效,但是您可以尝试将作业的状态重置为活动状态,然后

  • 我的用例是,我想对同一个数据流应用不同的CEP模式。CEP模式是动态的&我希望它们被添加到flink,而不必重新启动作业。虽然所有条件都可以通过实现IterativeCondition的自定义类来处理,但我的主要问题是时间条件只接受TimeWindow;无法处理。有什么方法可以根据输入元素来设置传递给.winn()的值吗? 原因是我使用:PatternStream matchStream=cep.