kafka入門 命令的操作 基於命令列的方式

2021-09-29 07:10:45 字數 3205 閱讀 5370

1,安裝zookeeper,zookeeper的安裝以及啟動可以參考zookeeper的入門-安裝&配置

2,kafka的安裝參考kafka入門-kafka安裝(windows環境)

3,kafka伺服器集群的數量為3,為了方便,自己將解壓後的kafka的資料夾複製了三份,並且對其進行了重新命名操作,如下圖所示:

此時需要修改每個集群節點中的server.properties檔案。舉kafka_1例子來說,進入到config資料夾下,編輯server.properties檔案,編輯的結果如下圖所示(主要修改三個地方):

21行那裡的含義是用唯一的乙個整數去標記kafka集群中的每乙個節點,必須是唯一的。31行那裡表示的是節點伺服器的埠號,由於這三個kafka節點都是在一台電腦上,因此埠號也要是唯一的(如果集群中的節點部署到多台主機上,那麼這個地方就不用修改,使用預設的9092埠號就行)。60行那裡表示的是kafka儲存節點中訊息資料的位置。

同理,對於kafka_2資料夾中config的server.properties修改如下圖所示:

kafka_3檔案中config下的server.properties檔案修改如下圖所示:

1,啟動zookeeper,進入到zookeeper的bin目錄下,然後輸入zkserver.cmd啟動zookeeper。

2,首先將集群中的三颱kafka伺服器啟動起來。例如kafka_1:進入到\bin\windows目錄下,然後執行:kafka-server-start.bat ..\..\config\server.properties命令。同理,對於kafka_2節點和kafka_3節點的操作同kafka_1。

3,當三個集群中三個節點啟動起來之後,可以通過zookeeper的客戶端檢視集群中的topic資訊。啟動zookeeper客戶端需要進入到bin目錄中,然後輸入zkcli.cmd啟動客戶端,然後通過ls的命令檢視topic的資訊。如下圖所示:

由於當前沒有去建立topic的資訊所以檢視topic的資訊的時候是空值。

也可以使用kafka-topics.bat --zookeeper localhost:2181 --list去檢視。

topic的好處是將kafka集群中的資訊進行分類,對於消費者而言,需要消費什麼樣的訊息,那麼就去對應的主題中取就行了。

關於主題的增,刪,改,查操作基本上通過kafka-topics.bat去操作的,一般操作中我們不會去執行修改的操作。

建立主題:

kafka-topics.bat --zookeeper localhost:2181 --create --replication-factor 3 --partitions 2 --topic first

這裡主要解釋一下–replication-factor 3 和 --partitions 2的含義:

通過上面的命令我們就可以建立乙個名為first的主題,那麼我們如果去檢視這個主題的詳情呢,可以通過:kafka-topics.bat --zookeeper localhost:2181 --describe --topic first去檢視我們建立的主題,如下圖所示:

說明:紅框1中的0,1表示的是分割槽的編號,紅框2中的0,1,2表示的是server.properties中的broker.id的值,即用來標記節點的變數。

上面的結果可能太過於抽象,我將其畫了出來,如下圖所示:

檢視主題列表

kafka-topics.bat --zookeeper localhost:2181 --list

執行結果如下圖所示:

刪除主題

刪除topic的前提要在server.properties中設定delete.topic.enable=true這個條件。刪除的命令是kafka-topics.bat --zookeeper localhost:2181 --delete --topic first

上面的是對於kafka中topic的一些操作,下面要進行的是對於生產者和消費者的一些操作演示。

這裡主要用到了bin/windows資料夾中的kafka-console-producer.batkafka-console-consumer.bat這兩個批處理命令。

先要生產訊息,生產訊息的命令為:kafka-console-producer.bat --broker-list localhost:9092 --topic first,輸入命令之後,就會進入生產訊息的阻塞狀態:

然後我們在啟動消費者,即輸入命令:kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic first,此時消費者處於監聽的狀態。當生產者往kafka中傳送訊息的時候,消費者會自動去消費,如下圖所示:

生產者消費者

如果乙個新的消費者想要去消費之前佇列中的資訊,可以使用命令:kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic first --from-beginning

Kafka 入門命令

消費者組 消費者和生產者 檢視幫助 kafka topics zookeeper localhost 2181 create topic money replication factor3 partitions8 if not exists partitions 分割槽數 zookeeper zk位...

kafka啟動命令 Kafka入門

kafka是乙個高效能分布式訊息系統,今天就簡單介紹下基礎入門吧。tar xzf kafka 2.12 2.2.0.tgz cd kafka 2.12 2.2.0二 啟動伺服器kafka使用zookeeper,所以我們要先啟動zookeeper,可以使用安裝檔案裡面的啟動命令啟動乙個單節點的zook...

kafka操作命令

啟動 bin kafka server start.sh daemon config server 0.properties bin kafka server start.sh daemon config server 1.properties 如果有多個server broker bin kafk...