【问题标题】:Can't set parallelism using Flink's CLI or Web-UI when using Apache Beam使用 Apache Beam 时无法使用 Flink 的 CLI 或 Web-UI 设置并行度
【发布时间】:2017-10-22 17:45:38
【问题描述】:

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

使用 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】:

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

    【讨论】:

    • 太棒了!非常感谢您的帮助,解决方法很有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 2020-10-26
    • 2020-10-28
    • 1970-01-01
    相关资源
    最近更新 更多