《Apache Kafka 實戰(zhàn)》筆記 - 7.6.5 獲取topic當前消息數(shù)

目標

獲取某 topic 共生產(chǎn)多少條消息。

創(chuàng)建測試 topic

bin/kafka-topics.sh -zookeeper localhost:2181 --create --partitions 5 --replication-factor 1 --topic test765

生產(chǎn)測試消息

為 topic test765 生產(chǎn) 500000 條消息:

bin/kafka-producer-perf-test.sh  --topic test765 --throughput  -1  --record-size 10 --num-records 500000 --producer-props bootstrap.servers=localhost:9092

獲取 topic 消息數(shù)

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test765 --time -1

# 輸出信息
test765:0:100000
test765:1:100000
test765:2:100000
test765:3:100000
test765:4:100000
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test765 --time -2

# 輸出信息
test765:0:0
test765:1:0
test765:2:0
test765:3:0
test765:4:0

--time-1 表示要獲取指定topic所有分區(qū)當前的最大位移,--time-2 表示獲取當前最早位移。

兩個命令的輸出結果相減便可得到所有分區(qū)當前的消息總數(shù)。

分區(qū)當前的消息總數(shù) = [--time-1] - [--time-2]

相減是因為隨著 kafka 的運行,topic 中有的消息可能會被刪除,,因此 --time-1 的結果其實表示的是歷史上該topic生產(chǎn)的最大消息數(shù),如果用戶要統(tǒng)計當前的消息總數(shù)就必須減去 --time-2 的結果。

本例中沒有任何消息被刪除,故 --time-2 的結果全是0,表示最早位移都是0,消息總數(shù)等于歷史上發(fā)送的消息總數(shù)。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • 姓名:周小蓬 16019110037 轉載自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw閱讀 34,897評論 13 425
  • kafka的定義:是一個分布式消息系統(tǒng),由LinkedIn使用Scala編寫,用作LinkedIn的活動流(Act...
    時待吾閱讀 5,537評論 1 15
  • 昨天看到朋友圈就睡了~今天大概6點多自然醒,7.13起來~感覺陽光在,明媚在,你在~沒有什么比一場斷離舍更適合今天...
    Luna321閱讀 217評論 0 0
  • 兩天了,我仍未能從失去二王的悲傷中走出,我多么想白天是被它抱著腳啃醒的,然后我給它兩巴掌,把它扔到頭邊或肚子上繼續(xù)...
    馬二王閱讀 532評論 0 1

友情鏈接更多精彩內容