使用 Java 设置 Flink 分离模式

Set Flink Detached Mode using Java

Flink 集群详情,
节点数:4
Flink 版本:1.11
Flink 客户端 : RestCluserClient

我们正在使用 PackagedProgram 从流作业提交 Flink 批处理作业,但我们的要求是一次只执行一个作业,假设我们从源中获得了 2 个事件,因此理想情况下必须触发 2 个批处理作业(每个事件) 但一次只有一个。为了实现这一点,我们使用 client.setDetached(false)(在以前的 flink 版本中),但是一旦我们将其迁移到 1.11 setDetached(false) API已被删除。

我们知道如何实现这个要求吗?

在对此进行更多分析后,我找到了解决方案。 Flink 1.11 API 提供了用于提交作业的 Utils class,ClientUtils 它有两个方法,

  1. ClientUtils.submitJob() -> 此方法适用于分离模式,如 true
  2. ClientUtils.submitJobAndWaitForExecutionResult() -> 这作为 false 的分离模式工作。