Kafka运维:consumer-groups.sh消费者组管理
什么是消费者组
Kafka中的消费者组是由一组消费者共同消费一个或多个主题(topics)的机制。消费者组可以有效地提高消息的吞吐量,同时还提供了在消费者之间分摊相同数量的分区以实现负载均衡的机制。
consumer-groups.sh命令
consumer-groups.sh是Kafka提供的一种管理consumer groups的工具,它能够列出绑定到指定topic的消费者组、消费者组详情及它们消费了哪些分区以及每个分区的offset等信息。此外,还能够通过consumer-groups.sh指定参数修改消费者组的偏移量。
consumer-groups.sh参数列表
bin/kafka-consumer-groups.sh [-h] [--bootstrap-server <server to use>] [--command-config <command configuration property file>]
[--group <consumer-group>] [--new-consumer | --zookeeper] [--describe] [--delete] [--reset-offsets]
[--reset-offsets-by-duration <duration controlling how far back to reset>] [--reset-offsets-by-topic <topic to reset>]
[--reset-offsets-by-times] [--all-topics] [--topic <topic>] [--exclude-internal] [--dry-run]
各个参数的含义如下:
- --bootstrap-server:Kafka集群的地址,多个地址使用逗号分隔。
- --command-config:kafka的安全认证配置文件路径。
- --group:指定要操作的消费组。
- --describe:列出消费组的详情。
- --delete:删除消费组。
- --reset-offsets:重置消费组的偏移量。
- --reset-offsets-by-duration:指定重置的时间(从现在往前)。
- --reset-offsets-by-topic:指定重置的topic和partition。
- --reset-offsets-by-times:指定重置的时间点。
- --new-consumer:使用新消费者API。
- --zookeeper:使用旧的Zookeeper API。
- --all-topics:列出所有topic的所有消费组。
- --topic:指定要操作的topic。
- --exclude-internal:不列出.kafka/*的topic。
- --dry-run:仅输出要执行的操作,不实际运行。
示例一:列出消费组
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group test-consumer-group
以上命令将显示出名为"test-consumer-group"的消费组中每个consumer所持有的分区、偏移量以及最新的提交时间。
示例二:重置消费组的偏移量
bin/kafka-consumer-groups.sh --bootstrap-server=localhost:9092 --group=DemoGroup --reset-offsets --topic=DemoTopic --to-offset=30
以上命令将重置消费组"DemoGroup"的"DemoTopic"上的所有分区的偏移量为30。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:kafka运维consumer-groups.sh消费者组管理 - Python技术站