我一直试图在Java中以编程方式运行以下脚本,并且大多数情况下它们都起作用,但是对于某些错误,此错误不断出现: “消费者组xyz不存在”。有人可以解释为什么会发生此错误,特别是如果使用者组出现在--list脚本中。
kafka/bin/kafka-consumer-groups.sh --zookeeper
192.xxx.x.xxx:2181 --describe -group TEST_CONSUMER
返回错误:
Error: The consumer group 'TEST_CONSUMER' does not exist.
但是此脚本会将消费者组列出为活动的:
kafka/bin/kafka-consumer-groups.sh --zookeeper 192.xxx.x.xxx:2181 --list
那么,为什么列出了它,然后返回一条错误消息,指出它不存在?也与消费者群体有关-我运行此脚本来获取滞后信息,因为有人告诉我,除非我连接到每个消费者服务器或其他设备,否则无法通过kafka 1.0中的jmx指标来获得此信息。有人可以验证吗?
谢谢
答案 0 :(得分:2)
使用bootstrap-server
而不是zookeeper
here
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group
注意:这只会显示有关使用Java消费者API(非基于ZooKeeper的消费者)的消费者的信息。
答案 1 :(得分:0)
首先列出集群中的组:
bin/kafka-consumer-groups.sh --bootstrap-server $IP_Address:9092 --list
然后描述您需要的组:
bin/kafka-consumer-groups.sh --bootstrap-server $IP_Address:9092 --group $GROUPID --describe
在这种情况下,我想您正在描述一个在ZK(akka旧消费者)中的组,这是存储在ZK中的旧kafkaconsumer。您的kafka客户客户端是哪个版本?