Kafka查看topic、consumer group狀態命令


最近工作中遇到需要使用kafka的場景,測試消費程序啟動后,要莫名的過幾十秒乃至幾分鍾才能成功獲取到到topic的partition和offset,而后開始消費數據,於是學習了一下查看kafka broker里topic和consumer group狀態的相關命令,這里記錄一下。

命令參考自《Kafka: The Definitive Guide》 Chapter 9 Administrating Kafka

以下命令中使用的zookeeper配置地址為127.0.0.1:2181,bootstrap--server(即broker)地址為: 127.0.0.1:9292

1,查看kafka topic列表,使用--list參數

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
__consumer_offsets
lx_test_topic
test

2,查看kafka特定topic的詳情,使用--topic與--describe參數

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic lx_test_topic --describe
Topic:lx_test_topic     PartitionCount:1        ReplicationFactor:1     Configs:
        Topic: lx_test_topic    Partition: 0    Leader: 0       Replicas: 0     Isr: 0

列出了lx_test_topic的parition數量、replica因子以及每個partition的leader、replica信息

3,查看consumer group列表,使用--list參數

查看consumer group列表有新、舊兩種命令,分別查看新版(信息保存在broker中)consumer列表和老版(信息保存在zookeeper中)consumer列表,因而需要區分指定bootstrap--server和zookeeper參數:

bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server 127.0.0.1:9292 --list
lx_test
bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list
console-consumer-86845
console-consumer-11967

4,查看特定consumer group 詳情,使用--group與--describe參數

同樣根據新/舊版本的consumer,分別指定bootstrap-server與zookeeper參數:

bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server 127.0.0.1:9292 --group lx_test --describe
GROUP                          TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             OWNER
lx_test                        lx_test_topic             0          465             465             0               kafka-python-1.3.1_/127.0.0.1
bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --group console-consumer-11967 --describe
GROUP                          TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             OWNER
Could not fetch offset from zookeeper for group console-consumer-11967 partition [lx_test_topic,0] due to missing offset data in zookeeper.
console-consumer-11967         lx_test_topic             0          unknown         465             unknown         console-consumer-11967_aws-lx-1513787888172-d3a91f05-0

其中依次展示group名稱、消費的topic名稱、partition id、consumer group最后一次提交的offset、最后提交的生產消息offset、消費offset與生產offset之間的差值、當前消費topic-partition的group成員id(不一定包含hostname)

上面示例中console-consumer-11967是為了測試臨時起的一個console consumer,缺少在zookeeper中保存的current_offset信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM