Apache Nifi - 如何指定分区以从Kafka Consumer中读取数据

时间:2017-11-10 15:57:14

标签: kafka-consumer-api apache-nifi

使用案例 我们为多个模式配置了金门kafka大数据适配器。 每个模式映射到1个分区,kafka partitioner根据定义的映射发布消息。喜欢 schema1 = 1(分区#1),schema2 = 2 .. scheman = n

这样就可以在自己的分区中隔离所有模式的消息。

问题: 鉴于这种情况,我想配置一个Apachi Nifi节点实例来处理kafka主题的1个分区。这样,我将配置100个并行处理100 kafka分区的Nifi实例。

但是我没有看到任何可以在KafkaConsumer中指定分区的地方

enter image description here enter image description here

问题:

  1. Apache Nifi kafka使用者是否支持分区配置?
  2. 如果不支持,是否在路线图中供将来发布?
  3. 卡夫卡版本:0.10.1.1 Apache Nifi版本:1.4.0

1 个答案:

答案 0 :(得分:1)

目前,您无法指定要使用的分区,它由Apache Kafka客户端自动确定,该客户端确保将一个使用者组中的一个使用者分配给给定分区。基本上,单个消费者可以从多个分区消费,但不同的消费者不能从同一个分区消费。

因此,如果您在同一个NiFi实例中有100个ConsumeKafka处理器,它们都拥有相同的使用者组,则每个处理器将被分配100个分区中的1个。

我可以看到将来可能会公开一个属性来选择一个分区的价值。

此外,您可能希望将ConsumeKafka_0_10与Kafka 0.10.1.1一起使用,ConsumeKafka使用0.9客户端,通常最好使用与代理对齐的客户端。