首页 > 解决方案 > Apache Flink Kubernetes 作业参数

问题描述

我正在尝试使用 Kubernetes 设置集群(Apache Flink 1.6.1),并在其上运行作业时出现以下错误:

2018-10-09 14:29:43.212 [main] INFO  org.apache.flink.runtime.entrypoint.ClusterEntrypoint  - --------------------------------------------------------------------------------
2018-10-09 14:29:43.214 [main] INFO  org.apache.flink.runtime.entrypoint.ClusterEntrypoint  - Registered UNIX signal handlers for [TERM, HUP, INT]
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.flink.runtime.entrypoint.ClusterConfiguration.<init>(Ljava/lang/String;Ljava/util/Properties;[Ljava/lang/String;)V
    at org.apache.flink.runtime.entrypoint.EntrypointClusterConfiguration.<init>(EntrypointClusterConfiguration.java:37)
    at org.apache.flink.container.entrypoint.StandaloneJobClusterConfiguration.<init>(StandaloneJobClusterConfiguration.java:41)
    at org.apache.flink.container.entrypoint.StandaloneJobClusterConfigurationParserFactory.createResult(StandaloneJobClusterConfigurationParserFactory.java:78)
    at org.apache.flink.container.entrypoint.StandaloneJobClusterConfigurationParserFactory.createResult(StandaloneJobClusterConfigurationParserFactory.java:42)
    at org.apache.flink.runtime.entrypoint.parser.CommandLineParser.parse(CommandLineParser.java:55)
    at org.apache.flink.container.entrypoint.StandaloneJobClusterEntryPoint.main(StandaloneJobClusterEntryPoint.java:153)

我的工作将配置文件(file.properties)作为参数。这在独立模式下工作正常,但显然 Kubernetes 集群无法解析它

工作集群job.yaml:

args: ["job-cluster", "--job-classname", "com.test.Abcd", "-Djobmanager.rpc.address=flink-job-cluster",
       "-Dparallelism.default=1", "-Dblob.server.port=6124", "-Dquery.server.ports=6125", "file.properties"]

如何解决这个问题?

更新:这项工作是为 Apache 1.4.2 构建的,这可能是问题所在,正在调查它。

标签: apache-flinkflink-streaming

解决方案


该作业是为 1.4.2 构建的,在 1.6.1 中添加了错误类 ( EntrypointClusterConfiguration.java )这导致了这个问题。我们更新了作业的依赖项以指向新的 1.6.1 版本,并且正确解析了参数。


推荐阅读