【问题标题】:How do I view the consumed messages of Kafka in Nifi?如何在 Nifi 中查看 Kafka 的消费消息?
【发布时间】:2018-10-27 06:46:33
【问题描述】:

我已经启动了一个 Nifi 进程(使用 Kafka)并将其连接到一个主题。它正在运行,但我无法(不知道)在哪里可以查看消息?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-nifi


    【解决方案1】:

    ConsumeKafka 处理器运行并为每条消息生成流文件。只有当您将处理器连接到其他组件(如另一个处理器或输出端口)时,您才能可视化正在传输的数据。

    对于初学者,你可以试试这个:

    • 将ConsumeKafka 与LogAttribute 或任何其他处理器连接 那件事。
    • 停止或禁用LogAttribute 处理器。
    • 现在什么时候 你启动ConsumeKafka,所有收到的消息都来自 配置好的 Kafka 主题会以流文件的形式排队。
    • 右键单击流文件排队的关系,然后 点击List Queue即可访问队列。
    • 点击任何项目 队列中,会出现一个上下文菜单。点击View按钮,你 可以看到数据。

    “查看”Kafka消息的整个解释只是为了帮助您调试并开始使用NiFi。理想情况下,您将使用其他 NiFi 处理器来解决您的用例。

    示例

    您从 Kafka 接收消息并希望将其写入 MongoDB,因此您可以将流程设为: 注意: 有像 ConsumeKafkaRecord 和 PutMongoRecord 这样的基于记录的处理器,但它们基本上在做同样的事情,但有更多的增强。由于您是新手,因此我建议了一个简单的流程。您可以找到有关基于Record 的处理器here 的详细信息并尝试一下。

    【讨论】:

    • 你能帮我解决这个问题吗:比如说,我想“处理”记录。通过流程,我的意思是获取一个记录 ID,检查此人的 ID 并计算此人收到的所有消息。此信息可以存储在另一个主题中。现在,一旦完成此聚合,我想检查人员配额中的消息总数(personId 是键,记录数是值,因此,一旦我收到相应的记录,就更新这个值)。您如何建议使用 Nifi 完成这项琐碎的工作?
    • 我强烈建议您将其发布在用户邮件列表中:users@nifi.apache.org
    【解决方案2】:

    您可能需要使用消息--from-beginning,如果这些消息之前已被使用(因此已提交偏移量)。

    在 GetKafka 处理器上,有一个属性 Auto Offset Reset 应设置为 smallest,相当于 Kafka Console Consumer 中的 --from-beginning。

    【讨论】:

    • 我明白这一点。但是,我无法查看这些消息,因为我在 UI 中看不到与此相关的任何内容。你能告诉我在软件的哪里可以看到阅读的信息吗?这些消费的消息保存在哪里?
    • 此视频可能有用:youtube.com/watch?v=4yBc7hHvaQU
    • 我还是不知道从哪里获取数据。我想看看卡夫卡中的数据。例如,我们输入一个命令:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic collect-response --from-beginning,我们就可以看到该主题中的所有消息。我怎样才能在 Nifi 中实现这一点?或者,有什么方法可以将这些消息存储在文件或其他东西中?忽略我的愚蠢,开发新手。
    • 这个@hasherBaba运气好吗?
    猜你喜欢
    • 2017-10-29
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多