在使用apache beam时,无法使用flink的cli或web ui设置并行性

ikfrs5lh  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(395)

我正在docker上运行Flink1.2.1,任务管理器作为DockerSwarm的一部分分布在不同的虚拟机上。
使用flinkwebui上传apachebeam应用程序并尝试在作业提交点设置并行性是行不通的。也不使用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.htmlhttpshttp://beam.apache.org/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/flink/defaultparallelismfactory.html

vd8tlhqk

vd8tlhqk1#

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

相关问题