Apache Nifi ConsumeKafka_1_0处理器的工作原理

时间:2018-08-14 06:40:01

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

我有的Nifi群集,并且那里也安装了Kafka。

创建了一个包含5个分区的主题,并使用一个gourp-id开始使用该主题。这样每个分区都会收到唯一的消息。

现在,我创建了5个ConsumeKafka_1_0处理器,目的是在每个用户端获取唯一的消息。但是ConsumeKafka_1_0中只有2个正在消耗其余所有消息,这是理想的设置。

现在我要做的是启动5命令行Kafka使用者,然后发生的事情是,我能够看到所有分区都在获取消息,并且只能以循环方式从命令行使用者使用它们。

此外,我尝试描述了Kafka组,而我看到的是Nifi ConsumeKafka_1_0中只有2个正在使用所有5个分区,其余分区是理想的,请查看快照。

enter image description here

请让我在这里使用Nifi消费者处理器做错的事情。

注意-我使用的Nifi版本是1.5,Kafka版本是1.0。

1 个答案:

答案 0 :(得分:0)

我写了这篇文章,解释了与Kafka集成的工作方式:

https://bryanbende.com/development/2016/09/15/apache-nifi-and-apache-kafka

Apache Kafka客户端(由NiFi使用)将分区分配给使用者。

通常,如果您有一个5节点的NiFi集群,并且在画布上具有1个ConsumeKafka处理器,并发任务是1个,那么每个节点将占用1个分区。