kafka-console-consumer消费者使用什么消费群

时间:2018-08-03 12:22:08

标签: apache-kafka kafka-consumer-api

当我像这样运行kafka-console-consumer

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

它默认为哪个消费群体?如果我没有在命令行中指定使用者组或链接到使用者属性,它最终会使用随机使用者组吗?如何查看使用了哪个消费群体?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果未指定组,则kafka-console-consumer.sh会生成以下格式的随机使用者组:

console-consumer-${new Random().nextInt(100000)}

请参见ConsoleConsumer scala类:https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L370

不幸的是,要找到生成的组ID,您必须:

  • 查看控制台使用者日志
  • 列出所有组(例如,使用kafka-consumer-groups工具并过滤以console-consumer-开头的组。

答案 1 :(得分:1)

It uses a random one,它不打算被重用,所以没有理由知道它是什么,因为在关闭使用者对象时将对其进行清理

consumerProps.put(ConsumerConfig.GROUP_ID_CONFIG, s"console-consumer-${new Random().nextInt(100000)}")
    // By default, avoid unnecessary expansion of the coordinator cache since
    // the auto-generated group and its offsets is not intended to be used again
    if (!consumerProps.containsKey(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG))
      consumerProps.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false")