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

下載與解壓安裝
首先我們需要下載一下Kafka的安裝包,這里筆者采用的是通用的wget指令:
wget https://downloads.apache.org/kafka/3.9.0/kafka_2.13-3.9.0.tgz完成下載后將項目解壓與重命名,方便后續(xù)的使用:
tar -xzf kafka_2.13-3.9.0.tgz
mv kafka_2.13-3.9.0 kafka基本配置
因為筆者是在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)測試的用戶,直接手動配置為本地環(huán)回地址即可:
listeners=PLAINTEXT://127.0.0.1:9092
advertised.listeners=PLAINTEXT://127.0.0.1:9092對于外網(wǎng)用戶需要特別注意,對應(yīng)的配置要求為:
- listeners選項IP地址配置為0.0.0.0以監(jiān)聽所有網(wǎng)卡
- advertised.listeners配置為外網(wǎng)IP地址,這是客戶端連接時使用的地址
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://your-public-ip:9092啟動測試
完成上述步驟之后,通過bin目錄的zookeeper-server-start.sh腳本啟動注冊中心ZooKeeper,觀測控制臺啟動日志確保無誤后,可以嘗試后臺啟動:
./bin/zookeeper-server-start.sh config/zookeeper.properties如下圖,成功綁定2181后即可說明zk啟動成功了:

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

后臺啟動
確認(rèn)上述流程無誤后,我們可以通過后臺啟動的方式啟動Kafka環(huán)境,對應(yī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 &





























