【问题标题】:Apache Flink Kafka Integration Partition SeperationApache Flink Kafka 集成分区分离
【发布时间】:2018-11-21 16:51:13
【问题描述】:

我需要实现以下数据流。我有一个有 9 个分区的 kafka 主题。我可以用 9 个并行级别阅读这个主题。我也有 3 个节点的 Flink 集群。该集群的每个节点都有 24 个任务槽。

首先,我想像下面那样传播我的 kafka,每台服务器都有 3 个分区。顺序无关紧要,我只是将 kafka 消息转换并发送到 DB。

第二件事是,我想在节省 NoSQL DB 的同时提高并行度。如果我提高并行度 48,由于发送 DB 是 IO 操作,它不会消耗 CPU,我想确定,当 Flink 重新平衡我的消息时,我的消息将留在同一服务器。

对我有什么建议吗?

【问题讨论】:

    标签: apache-kafka apache-flink


    【解决方案1】:

    如果您想将 Kafka 阅读器分布在所有 3 个节点上,我建议每个节点使用 3 个插槽,并将 Kafka 源的并行度设置为 9。

    问题在于,如果可用插槽数超过所需的并行度,则目前无法控制任务的放置方式。这意味着如果您的源少于插槽,则可能会发生所有源都将部署到一台机器上,而其他机器为空(源方面)。

    能够在所有可用机器上分散任务是社区目前正在开发的一项功能。

    【讨论】:

      猜你喜欢
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 2019-04-19
      相关资源
      最近更新 更多