kafka常用操作命令總結

前言

在使用kafka開發和運維的時候,經常需要進行一些常用的調試操作,比如創建topic,刪除topic,測試從producer發消息給consumer等,這時可以使用kafka提供的常用的命令行工具進行操作,相比可視化工具某些時候可能更有效,下面將列出常用的操作操作命令方便後續運維使用時候查找

1、kafka啓動命令

服務器上安裝完zookeeper並配置好kafka的環境後,進入kafka的bin目錄下
在這裏插入圖片描述
可以看到,在該目錄下保存了許多的以sh結尾的文件,就可以使用這些腳本文件完成對kafka的命令行操作,因此啓動的命令如下:

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

命令解釋:

  • -daemon 以守護進程的方式啓動
  • server.properties 啓動時要以這個配置文件進行啓動

由於kafka的啓動是一個Java進程,可以通過jps或者jcmd的方式查看進程

2、創建主題

仍然在bin目錄下執行如下命令:

./kafka-topics.sh --zookeeper localhost:2181 \
 --create --topic zcy \
 --partitions 3 --replication-factor 1

–zookeeper:指定了Kafka所連接的Zookeeper服務地址
–topic:指定了所要創建主題的名稱
–partitions:指定了分區個數
–replication-factor:指定了副本數
–create:創建主題的動作指令

說明:如果是單節點的kafka,–replication-factor設置的數量大於1的時候會報錯,錯誤信息如下,簡單解釋就是單節點上無法創建更多的副本了,這個和kafka的集羣機制有關,因爲集羣爲了保證數據的高可用性,需要把副本分佈到不同的機器上,這個在es中也有類似的思想
在這裏插入圖片描述
比如我們創建一個名爲zcy-test的topic,分區數爲3,執行之後如下所示
在這裏插入圖片描述
順便貼上刪除主題的命令,需要注意,在生產環境中不要輕易使用刪除的命令,除非確保主題不再使用而且也沒有相關的producer和consumer在操作這個topic了

./kafka-topics --delete --topic zcy --zookeeper localhost:2181

2、展示kafka中所有主題

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

在這裏插入圖片描述

3、查看某個主題的詳情

可以展示出當前的topic的分區數,副本數,集羣中所處的角色,isr信息等

./kafka-topics.sh --zookeeper localhost:2181 --describe --topic zcy	

在這裏插入圖片描述
4、啓動消費端的命令行窗口

通過此命令可以快速啓動消費者的命令行窗口,這在開發中很有用處,可以在程序中通過producer的代碼發送消息,看能否在此窗口中正常收到消息

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic zcy
  • –bootstrap-server 指定了連接Kafka集羣的地址
  • –topic 指定了消費端訂閱的主題
    在這裏插入圖片描述

執行完命令後,會出現一個黑色的阻塞的窗口,剩下的就可以接收生產者發送的消息啦

5、啓動生產者發送消息的命令行窗口

./kafka-console-producer.sh --broker-list localhost:9092 --topic zcy

看到如下窗口說明通過命令行開啓producer端成功
在這裏插入圖片描述

下面我們就可以通過它發消息了,輸入 “hello kafka”,可以看到在consumer的窗口中收到消息了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章