【问题标题】:how to distribute data in Kafka cluster with Apache NIFI如何使用 Apache NIFI 在 Kafka 集群中分发数据
【发布时间】:2019-08-29 14:42:31
【问题描述】:

我在docker中有一个Flink集群(docker已经安装在三个不同的物理节点上);此外,相同的三个节点位于 Kafka 集群中。图片如下。我在主题的分区之间分配数据时遇到问题。

我的目标是在分区之间分配数据。我有两个选择:

  1. 编写一个简单的程序来分发数据。

  2. 使用 apache Nifi。

每个节点都有一个socket来接收数据,三个节点的数据流是一样的。

我的问题是,要在主题的分区之间分配数据,我必须在三个节点之一中使用 Apache NiFi(或简单程序)以防止分区中出现重复数据或在 Nifi 的每个节点中使用 Apache Nifi,本身,防止在分区中有重复的数据?

提前谢谢你。

【问题讨论】:

    标签: apache-kafka apache-nifi flink-streaming


    【解决方案1】:

    您可以在多个节点上运行 NiFi 集群,但由您决定以不产生重复数据的方式设计数据流。

    例如,如果您运行 3 节点 NiFi 集群,并且流程的起点是使用 http GET 检索一些数据的 InvokeHttp 处理器,并且您在所有 3 个节点上运行此处理器,那么所有 3 个节点都会得到相同的结果数据,所有 3 个节点都会将相同的数据发布到 Kafka。

    如果您只在主节点上运行 InvokeHttp 处理器,那么只有一个节点会发布该数据。

    这只是一个例子。这取决于您的数据流。

    【讨论】:

    • 亲爱的@Bryan Bende,我的情况和你说的一样。因此,我应该运行 Apache Nifi 以在一个节点中分发 Kafka 主题中的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多