kafka控制台命令


Kafka 命令

Kafka啟動的時候使用 –daemon 后台運行,其命令如下:

./kafka-server-start.sh –daemon ../config/server.properties

1)      查看當前某個group 消費的

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group 1 --topic 000B_7F14

得到的結果為:

 

其中各參數解釋如下:

Group:消費的group id

Topic:主題

Pid:分區

Offset:消費的數目

logSize:總數

lag:未消費的條數

 

在執行這條命令的時候得到下面的提示:

WARN WARNING: ConsumerOffsetChecker is deprecated and will be dropped in releases following 0.9.0. Use ConsumerGroupCommand instead. (kafka.tools.ConsumerOffsetChecker$)

也就是說在0.9版本之后,該命令已經被廢棄了,所以,使用ConsumerGroupCommand命令取而代之。

2)      列出zk下的所有消費組

/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:19092 –list

得到結果為:

3)      創建topic

./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 2 --topic 00137F1A

其中指定該topic分為兩個區,只有一份數據。Replication有點類似mongodb中的副本集。

4)      新增partition

新增之前,查看topic的詳細信息如下:

Topic:2008_0020     PartitionCount:1      ReplicationFactor:2 Configs:

         Topic: 2008_0020    Partition: 0       Leader: 2 Replicas: 2,1    Isr: 2,1

 

/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter --partitions 3 --topic 2008_0020

原來只有1個parttions,現在增加到3個。

再次查看topic的信息:
Topic:2008_0020     PartitionCount:3      ReplicationFactor:2 Configs:

         Topic: 2008_0020    Partition: 0       Leader: 2 Replicas: 2,1    Isr: 2,1

         Topic: 2008_0020    Partition: 1       Leader: 0 Replicas: 0,1    Isr: 0,1

         Topic: 2008_0020    Partition: 2       Leader: 1 Replicas: 1,2    Isr: 1,2

我們看到其topic的數目已經發生了改變。

5)      查看topic的詳細信息

/kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic 000B_7F14

得到的結果如下:

Topic: 000B_7F14    PartitionCount:2      ReplicationFactor:1 Configs:

         Topic: 000B_7F14    Partition: 0       Leader: 0 Replicas: 0        Isr: 0

         Topic: 000B_7F14    Partition: 1       Leader: 1 Replicas: 1        Isr: 1

其中topic:主題名稱

PartitionCount:分區數量

ReplicationFactor:表示該topic在不同的broker中需要保存幾份,值為1,說明在一個broker中保存,當前使用的是0.10版本,即,kafka 已經能夠支持在partition級別進行備份。

ISR: in-sync replicas,副本集所在的服務器。表示的是當前有效的broker.

6)      使用控制台生產數據

./kafka-console-producer.sh --broker-list 127.0.0.1:19092 --topic S96

然后在下面寫入數據並換行,消費者將拿到數據

7)      使用控制台消費數據

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic S96  --from-beginning

如果后面加上from-beginning則會從最開始的位置進行消費

在使用這條命令的時候,在shell中會提示 using the new consumer by passing [bootstrap-server] instead of [zookeeper]

這個bootstrap-server具體與zookeeper之間的差別是?

Zookeeper 是直接連接的zk,而bootstrap-server則是連接的broker的ip.因為在0.9之后,kafka使用了新的consumer API進行消費。舊的API會逐步淘汰。

8)      查看所有的topic

./kafka-topics.sh –zookeeper 127.0.0.1:2181 –list

得到結果為:

2008_0020

000B_7F14

__consumer_offsets

 

也可以從zk的節點topics中查看,具體的命令為:

ls /config/topics ,得到的結果如下:

[ 2008_0020, __consumer_offsets, 000B_7F14]

同樣的,在/brokers/topics中能夠得到當前的所有topic

9)      查看某個分區的topic的偏移量最大最小值

./kafka-run-class.sh kafka.tools.GetOffsetShell –topic 000B_7F14 –broker-list 127.0.0.1:19092 –partitions 0

上面的命令旨在查看000B_7F14的分區1中的最大最小偏移量,得到的結果為:

000B_7F14:0:5544

查看groupid下對該topic消費的情況,可以得到:

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker –zookeeper 127.0.0.1:2181 –group 1 –topic 000B_7F14

Group        Topic      Pid Offset       logSize         Lag             Owner

1      000B_7F14      0   2094            5544            3450            none

可以看到當前的topic的最大值的確為5544

 


免責聲明!

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



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