kafka-consumer-groups.sh用于管理消费组,支持--list查看组列表、--describe查看偏移量与lag、--members查成员、--state查状态,并需注意组存在性及认证配置。

Kafka 提供了内置的命令行工具 kafka-consumer-groups.sh(Linux/macOS)或 kafka-consumer-groups.bat(Windows),用于查看消费组(Consumer Group)的详细信息,包括偏移量、分区分配、消费者状态等。
查看消费组列表
先确认当前集群中有哪些活跃或近期使用过的消费组:
- 执行命令:bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
- 注意:Kafka 0.10.2+ 默认只显示有活跃成员或有提交偏移量的消费组;若消费组无任何提交记录,可能不会出现在列表中
查看消费组详细信息(含偏移量和滞后)
这是最常用的操作,能看清每个分区的当前消费位置、最新日志位置及滞后(Lag):
- 执行命令:bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe
- 输出字段说明:
• TOPIC:所属主题
• PARTITION:分区编号
• CURRENT-OFFSET:消费者已提交的最新偏移量
• LOG-END-OFFSET:该分区当前最大偏移量(即最新消息位置)
• LAG:未消费消息数 = LOG-END-OFFSET − CURRENT-OFFSET
• CONSUMER-ID / HOST / CLIENT-ID:消费者实例标识(若消费组处于活跃状态)
查看消费组成员与分配详情
了解哪些消费者在运行、各自分配了哪些分区:
- 加
--members查成员:bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --members - 加
--offsets(默认行为,同--describe)查偏移量 - 加
--state查当前状态(如Stable、PreparingRebalance、Dead等)
注意事项与常见问题
实际使用时容易遇到几个典型情况:
- 如果提示 “Group does not exist”,说明该消费组从未提交过 offset,或已超时被自动删除(由
offsets.retention.minutes控制,默认 7 天) - 使用 SASL/SSL 认证时,需额外添加配置参数,例如:
--command-config client.properties,其中 client.properties 包含security.protocol= SASL_PLAINTEXT等配置 - 旧版本 Kafka(如 0.10.0 之前)使用
--zookeeper参数连接 ZK,新版本(0.11+)推荐用--bootstrap-server直连 broker











