【问题标题】:Running multiple Flink programs in a Flink Standalone Cluster (v1.4.2)在 Flink Standalone Cluster 中运行多个 Flink 程序 (v1.4.2)
【发布时间】:2018-06-12 15:39:50
【问题描述】:

我有一个基于 Flink 1.4.2 的 Flink Standalone Cluster(1 个作业管理器,4 个任务槽),想提交两个不同的 Flink 程序。 不确定这是否可能,因为一些 flink 档案说作业管理器只能运行一项作业。如果这是真的,有什么想法可以解决这个问题吗? Flink 集群只有一台机器可用,我们不想使用任何资源管理器,例如 Mesos 或 Yarn。

有什么提示吗?

【问题讨论】:

    标签: apache-flink flink-streaming


    【解决方案1】:

    Flink 作业(程序)在位于任务管理器中的任务槽中运行。假设你有 4 个任务槽,你最多可以运行 4 个 Flink 程序。此外,请注意 Flink 作业的并行性。如果您在两个作业中都将并行度设置为 2,那么 2 是您可以在 4 个任务槽上运行的最大作业数。每个并行实例都在一个任务槽上运行。

    查看此图片:https://ci.apache.org/projects/flink/flink-docs-master/fig/slots_parallelism.svg

    【讨论】:

    • 嗨@Alex。感谢您的澄清。假设我有一个有 4 个插槽的 TM,并且我部署了一个并行度 = 4 的 flink 作业。每个并行实例都将部署在一个任务槽中(我让整个作业管道在每个槽中运行)。我的工作进行了连接,它们缓冲了最后 3 小时的数据。根据 Flink 文档the separate threads running in different task slot share data sets and data structures, thus reducing the per-task overhead。我的问题是这些在不同任务槽中运行的线程是否会共享这些缓冲的数据以供加入。
    猜你喜欢
    • 1970-01-01
    • 2021-11-15
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多