kafka查看消費數據


一、如何查看

在老版本中,使用kafka-run-class.sh 腳本進行查看。但是對於最新版本,kafka-run-class.sh 已經不能使用,必須使用另外一個腳本才行,它就是kafka-consumer-groups.sh

普通版

查看所有組

要想查詢消費數據,必須要指定組。那么線上運行的kafka有哪些組呢?使用以下命令:

bin/kafka-consumer-groups.sh --bootstrap-server kafka-1.default.svc.cluster.local:9092 --list

注意:根據實際情況修改kafka的連接地址

 

執行輸出:

...
usercenter
...

 

這些組在是程序代碼里面定義的,比如usercenter就是一個業務模塊。

 

查看消費情況

bin/kafka-consumer-groups.sh --describe --bootstrap-server kafka-1.default.svc.cluster.local:9092 --group usercenter

參數解釋:

--describe  顯示詳細信息

--bootstrap-server 指定kafka連接地址

--group 指定組。

 

注意:--group指定的組必須存在才行!可以用上面的--list命令來查看

 

執行輸出:

 

指定自己的分組 自己消費的topic會顯示kafka總共有多少數據,以及已經被消費了多少條

標記解釋:

TOPIC
PARTITION
CURRENT-OFFSET
LOG-END-OFFSET
LAG
CONSUMER-ID
HOST
CLIENT-ID
topic名字 分區id 當前已消費的條數 總條數 未消費的條數 消費id 主機ip 客戶端id

 

 

 

 

從上面的信息可以看出,topic為xx-pending-business-c0a9dc71 總共消費了4條信息, 未消費的條數為0。也就是說,消費數據沒有積壓的情況!

 

注意:以kafkaspout類作為消費者去讀kafka數據,相當於直接從kafka server上取文件,沒有消費者組的概念

每次讀的數據存在自己zk的offet中,所以不能通過上述命令查看

 

ACL版查看

如果kafka啟用了acl權限驗證,則不能直接使用上面的命令查看,需要增加參數--command-config參數才行

此參數必須要指定一個配置文件才行

修改默認的配置文件

cd /kafka_2.12-2.1.0/
vim config/config/consumer.properties

 

最后一行增加2行,表示指定SASL協議連接

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

 

查看所有組

bin/kafka-consumer-groups.sh --command-config config/consumer.properties  --bootstrap-server kafka-1.default.svc.cluster.local:9092 --list

 

注意:--command-config 后面的配置文件,我用的是相對路徑。請以實際情況為准!

 

查看消費情況

bin/kafka-consumer-groups.sh --command-config config/consumer.properties  --describe --bootstrap-server kafka-1.default.svc.cluster.local:9092 --group usercenter

 

如果需要使用shell腳本,來檢測kafka的消費數據,有沒有積壓。

可以先使用--list命令,然后對結果使用for循環遍歷,將組名賦予到--group參數上即可!

 

 

本文參考鏈接:

https://blog.csdn.net/sweetgirl520/article/details/80323584


免責聲明!

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



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