Kafka 快速入門:從零搭建消息隊(duì)列環(huán)境完整指南
這篇文章是一篇Ubuntu(Linux)環(huán)境下的Kafka安裝與使用教程,通過本文,你可以非??焖俅罱ㄒ粋€(gè)kafka的小單元進(jìn)行日常開發(fā)與調(diào)測。

下載與解壓安裝
首先我們需要下載一下Kafka的安裝包,這里筆者采用的是通用的wget指令:
wget https://downloads.apache.org/kafka/3.9.0/kafka_2.13-3.9.0.tgz完成下載后將項(xiàng)目解壓與重命名,方便后續(xù)的使用:
tar -xzf kafka_2.13-3.9.0.tgz
mv kafka_2.13-3.9.0 kafka基本配置
因?yàn)楣P者是在Windows下的Linux子系統(tǒng),為保證宿主機(jī)和子系統(tǒng)內(nèi)部的Kafka可以準(zhǔn)確連通,需打開config/server.properties文件,將IP改為你的對應(yīng)主機(jī)IP以確保監(jiān)聽正確的網(wǎng)卡并接受處理請求:

對于內(nèi)網(wǎng)測試的用戶,直接手動(dòng)配置為本地環(huán)回地址即可:
listeners=PLAINTEXT://127.0.0.1:9092
advertised.listeners=PLAINTEXT://127.0.0.1:9092對于外網(wǎng)用戶需要特別注意,對應(yīng)的配置要求為:
- listeners選項(xiàng)IP地址配置為0.0.0.0以監(jiān)聽所有網(wǎng)卡
 - advertised.listeners配置為外網(wǎng)IP地址,這是客戶端連接時(shí)使用的地址
 
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://your-public-ip:9092啟動(dòng)測試
完成上述步驟之后,通過bin目錄的zookeeper-server-start.sh腳本啟動(dòng)注冊中心ZooKeeper,觀測控制臺(tái)啟動(dòng)日志確保無誤后,可以嘗試后臺(tái)啟動(dòng):
./bin/zookeeper-server-start.sh config/zookeeper.properties如下圖,成功綁定2181后即可說明zk啟動(dòng)成功了:

同理將Kafka服務(wù)端啟動(dòng)即可:
./bin/kafka-server-start.sh config/server.properties生產(chǎn)者與消費(fèi)者收發(fā)調(diào)測
經(jīng)過上述的基本配置之后,我們已經(jīng)成功的將kafka服務(wù)端啟動(dòng)了,以本文為例筆者的消費(fèi)者會(huì)訂閱transactions 這個(gè)topic,對應(yīng)的啟動(dòng)指令為:
./bin/kafka-console-consumer.sh --bootstrap-server your-ip:9092 --topic transactions --from-beginning因?yàn)楣P者服務(wù)器ip為172.19.182.7,且主題為transactions 所以對應(yīng)的執(zhí)行指令為:
./bin/kafka-console-consumer.sh --bootstrap-server 172.19.182.7:9092 --topic transactions --from-beginning確認(rèn)無誤后,啟動(dòng)一個(gè)topic為transactions的生產(chǎn)者投遞消息,對應(yīng)啟動(dòng)指令如下:
./bin/kafka-console-producer.sh --broker-list 172.19.182.7:9092 --topic transactions隨后我們在生產(chǎn)者控制臺(tái)鍵入hello consumer:
>hello consumer如下圖,如果消費(fèi)者接收消息成功,則說明本次kafka的基本配置與部署完成:

后臺(tái)啟動(dòng)
確認(rèn)上述流程無誤后,我們可以通過后臺(tái)啟動(dòng)的方式啟動(dòng)Kafka環(huán)境,對應(yīng)的后臺(tái)啟動(dòng)指令如下:
nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
nohup ./bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &














 
 
 












 
 
 
 