我有的Nifi群集,并且那里也安装了Kafka。
创建了一个包含5个分区的主题,并使用一个gourp-id开始使用该主题。这样每个分区都会收到唯一的消息。
现在,我创建了5个ConsumeKafka_1_0处理器,目的是在每个用户端获取唯一的消息。但是ConsumeKafka_1_0中只有2个正在消耗其余所有消息,这是理想的设置。
现在我要做的是启动5命令行Kafka使用者,然后发生的事情是,我能够看到所有分区都在获取消息,并且只能以循环方式从命令行使用者使用它们。
此外,我尝试描述了Kafka组,而我看到的是Nifi ConsumeKafka_1_0中只有2个正在使用所有5个分区,其余分区是理想的,请查看快照。
请让我在这里使用Nifi消费者处理器做错的事情。
注意-我使用的Nifi版本是1.5,Kafka版本是1.0。
答案 0 :(得分:0)
我写了这篇文章,解释了与Kafka集成的工作方式:
https://bryanbende.com/development/2016/09/15/apache-nifi-and-apache-kafka
Apache Kafka客户端(由NiFi使用)将分区分配给使用者。
通常,如果您有一个5节点的NiFi集群,并且在画布上具有1个ConsumeKafka处理器,并发任务是1个,那么每个节点将占用1个分区。