使用Apache Beam时,无法使用Flink的CLI或Web-UI设置并行性

问题描述 投票:0回答:1

我正在使用在Docker上运行的Flink 1.2.1,任务管理器作为Docker Swarm的一部分分布在不同的VM上。

使用Flink Web UI上载Apache Beam应用程序并尝试在作业提交点设置并行性不起作用。也没有使用Flink CLI提交作业。

似乎并行性没有在客户端获得,它最终默认为1。

当我在Apache Beam代码中以编程方式设置并行性时,它可以工作:flinkPipelineOptions.setParallelism(4);

我怀疑问题的根源可能在org.apache.beam.runners.flink.DefaultParallelismFactory类中,因为它检查Flink的GlobalConfiguration,它可能无法获取传递给Flink的运行时值。

关于如何修复或解决这个问题的任何想法?我需要能够动态地更改并行性,因此编程方法不起作用,也不会在系统级别设置Flink配置。

我使用以下文档:https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/parallel.html https://beam.apache.org/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/flink/DefaultParallelismFactory.html

apache-flink docker-swarm apache-beam
1个回答
0
投票

这可能应该在Beam Flink Runner中修复,但作为一种解决方法,您可以尝试以编程方式将并行性设置为-1。这应该使翻译获得提交作业时指定的并行度。

© www.soinside.com 2019 - 2024. All rights reserved.