Kafka集羣的搭建(windows版本)

今天下午真是天朗氣清啊,作者的內心也是盪漾無比,趁着這個大號的心情,給學習kafka的童鞋開一扇門~

                                                                  

       本人在瀏覽kafka搭建的時候,沒有發現一篇kafka在windows環境的搭建文章是清晰明瞭(劃重點)的。辣麼,今天就由我來給大家寫一篇完整的Kafka集羣搭建的文章。在發正文之前,大哥我在國內知名的大咖羣裏得到了一個消息,kafka還可以用作區塊鏈做共識(顏色必須夠騷),大家都來漲漲姿勢。

       說完上面的話,大家是不是對我的崇拜一下就起來啦。

                                                                       

正文(大家肅靜!)

本人下載的是apache-zookeeper-3.5.8-bin.tar.gzkafka_2.12-2.5.0.tgz版本的壓縮包。

運行kafka是需要在zookeeper註冊的。

啓動zookeeper的集羣

1.

先把apache-zookeeper-3.5.8-bin.tar.gz解壓,把解壓後的apache-zookeeper-3.5.8-bin文件複製三個,並改名爲apache-zookeeper-3.5.8-bin-0,apache-zookeeper-3.5.8-bin-1,apache-zookeeper-3.5.8-bin-2。

 

2.

在.\apache-zookeeper-3.5.8-bin-0\conf\zoo_sample.cfg文件複製並重命名爲zoo.cfg,剩下的兩個都這樣操作。

3.

打開\apache-zookeeper-3.5.8-bin-0\conf\zoo.cfg文件,修改如下參數

# zookeeper的配置路徑一定要用\\,否則路徑不會被識別
dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-0\\data
clientPort=2181
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
# 這是修改zookeeper啓動端口的
admin.serverPort=8080

打開\apache-zookeeper-3.5.8-bin-1\conf\zoo.cfg文件,修改如下參數

# zookeeper的配置路徑一定要用\\,否則路徑不會被識別
dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-1\\data
clientPort=2182
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
# 這是修改zookeeper啓動端口的
admin.serverPort=8081

打開\apache-zookeeper-3.5.8-bin-2\conf\zoo.cfg文件,修改如下參數

# zookeeper的配置路徑一定要用\\,否則路徑不會被識別
dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-2\\data
clientPort=2183
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
# 這是修改zookeeper啓動端口的
admin.serverPort=8082

4.

       在.\apache-zookeeper-3.5.8-bin-0\data文件夾下新建名稱爲myid的文件(名稱爲myid,無後綴),編輯文件內容

內容爲0

version-2文件夾是運行後自動生成的。

說好給大家寫一篇詳細的文章,還是把myid的文件打開給大家看看。

       在.\apache-zookeeper-3.5.8-bin-1\data文件夾下新建名稱爲myid的文件(名稱爲myid,無後綴),編輯文件內容

內容爲1,此處不貼圖

       在.\apache-zookeeper-3.5.8-bin-2\data文件夾下新建名稱爲myid的文件(名稱爲myid,無後綴),編輯文件內容

內容爲2,此處不貼圖

5.

啓動zookeeper, 在bin文件夾下執行zkServer.cmd

剩下的兩個同樣方法啓動。

**重點**

三個zookeeper是互相註冊的,啓動前面兩個zookeeper的時候會報錯,這是正常的。

這是apache-zookeeper-3.5.8-bin-0啓動的報錯,可以猜出來apache-zookeeper-3.5.8-bin-0啓動的報錯是找不到127.0.0.1:8882:7772,這是截圖就不發了。

啓動kafka的集羣

1.

解壓kafka_2.12-2.5.0.tgz壓縮包,將.\kafka_2.12-2.5.0\config文件夾下的server.properties文件, 複製3個並分別改名爲server1.properties,server2.properties,server3.properties

2.

對server1.properties修改

broker.id=0
# 本人是在一臺機搭建集羣,這改爲127.0.0.1
listeners=PLAINTEXT://127.0.0.1:9092
# broker處理消息的最大線程數 處理網絡io
num.network.threads=3
# broker處理磁盤IO的線程數
num.io.threads=8
log.dirs=E:\kafka_2.12-2.5.0\logs\log1
# 保留三天,也可以更短 72
log.retention.hours=72
# 對應zookeeper啓動的端口
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

對server2.properties修改

broker.id=1
# 本人是在一臺機搭建集羣,這改爲127.0.0.1
listeners=PLAINTEXT://127.0.0.1:9093
# broker處理消息的最大線程數 處理網絡io
num.network.threads=3
# broker處理磁盤IO的線程數
num.io.threads=8
log.dirs=E:\kafka_2.12-2.5.0\logs\log2
# 保留三天,也可以更短 72
log.retention.hours=72
# 對應zookeeper啓動的端口
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

對server3.properties修改

broker.id=2
# 本人是在一臺機搭建集羣,這改爲127.0.0.1
listeners=PLAINTEXT://127.0.0.1:9094
# broker處理消息的最大線程數 處理網絡io
num.network.threads=3
# broker處理磁盤IO的線程數
num.io.threads=8
log.dirs=E:\kafka_2.12-2.5.0\logs\log3
# 保留三天,也可以更短 72
log.retention.hours=72
# 對應zookeeper啓動的端口
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

3.

啓動kafka

在kafka_2.12-2.5.0下執行下面的命令

bin\windows\kafka-server-start.bat config\server1.properties
bin\windows\kafka-server-start.bat config\server2.properties
bin\windows\kafka-server-start.bat config\server3.properties

4.

4.1創建topic,同時分配了3個分區,3個備份,topic的名稱爲my-test

bin\windows\kafka-topics.bat --create --zookeeper localhost:2181,localhost:2182,localhost:2183 --replication-factor 3 --partitions 3 --topic my-test

效果如圖:

4.2查看topic

bin\windows\kafka-topics.bat --list --zookeeper localhost:2181,localhost:2182,localhost:2183

效果如圖:

4.3 查看topic爲my-test的具體信息

bin\windows\kafka-topics.bat --zookeeper localhost:2181,localhost:2182,localhost:2183 --describe --topic my-test

效果如圖:

4.4 啓動生產者命令

bin\windows\kafka-console-producer.bat --broker-list localhost:9092,localhost:9093,localhost:9094 --topic my-test

效果如圖:

4.5 啓動消費者命令

bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my-test

 

如果電腦內存比較小,我們可以修改kafka的啓動文件來配置。

修改kafka-server-start.bat

IF NOT ERRORLEVEL 1 (
   rem 32-bit OS
   set KAFKA_HEAP_OPTS=-Xmx256M -Xms256M
) ELSE (
   rem 64-bit OS
   set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M
)

 

 

 

 

 

 

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