1. 程式人生 > 實用技巧 >kafka-常用指令碼2

kafka-常用指令碼2

1、查詢所有kafka的topic

./kafka-topics.sh --zookeeper localhost --list

2、檢視topic的詳細資訊

./kafka-topics.sh -zookeeper localhost --describe --topic shangwei123

3、檢視kafka消費者

./kafka-consumer-groups.sh --bootstrap-server 10.44.99.77:9092 --list

4、檢視kafka消費組詳情

./kafka-consumer-groups.sh --bootstrap-server 10.44
.99.103:9092 --describe --group console-consumer-98422

5、向某個topic中生產資料

./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test0921

6、檢視topic資料

./kafka-console-consumer.sh --bootstrap-server 10.44.99.103:9092 --topic test0921

7、建立topic

./kafka-topics.sh --zookeeper localhost:2181 --create --partitions 3
--replication-factor 2 --topic wanglei123

8、Kafka的入庫效能測試

./kafka-producer-perf-test.sh --topic wanglei123 --num-records 10000 --record-size 10  --throughput 2000 --producer-props bootstrap.servers=10.44.99.103:9092

在入庫測試的時候就可以檢視 topic 的資料,來檢視入庫了什麼.

9、獲取topic訊息數

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

--time-1表示要獲取指定topic所有分割槽當前的最大位移,--time-2表示獲取當前最早位移。

兩個命令的輸出結果相減便可得到所有分割槽當前的訊息總數。

分割槽當前的訊息總數 = [--time-1] - [--time-2]

相減是因為隨著 kafka 的執行,topic 中有的訊息可能會被刪除,,因此--time-1的結果其實表示的是歷史上該topic生產的最大訊息數,如果使用者要統計當前的訊息總數就必須減去--time-2的結果。