Docker快速搭建Kafka集群及測試的技術指南
前言 Apache
Kafka是一款高吞吐量的分布式消息系統,配合Zookeeper可實現集群化部署。本文通過Docker容器技術,?3分鐘快速搭建3節(jié)點Kafka集群并完成消息生產消費測試。
一、環(huán)境準備
?系統要求:Linux/macOS(Windows需安裝Docker Desktop)
?Docker版本:建議使用20.10+
?網絡配置:確保2181(Zookeeper)、9092-9094(Kafka)端口開放
二、安裝Zookeeper服務
1. 拉取鏡像
docker search zookeeper # 查看可用鏡像 docker pull wurstmeister/zookeeper # 拉取官方推薦鏡像
2. 啟動容器
docker run -d --name zookeeper \ -p 2181:2181 \ -t wurstmeister/zookeeper
三、搭建Kafka集群
1. 拉取Kafka鏡像
docker search kafka --limit=50 # 查找鏡像 docker pull wurstmeister/kafka # 拉取鏡像
2. 啟動3個Broker節(jié)點
注意:將下方所有xxx替換為服務器真實IP地址
# Broker 0(端口9092) docker run -d --name kafka0 \ -p 9092:9092 \ -e KAFKA_BROKER_ID=0 \ -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ wurstmeister/kafka # Broker 1(端口9093) docker run -d --name kafka1 \ -p 9093:9093 \ -e KAFKA_BROKER_ID=1 \ -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9093 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 \ wurstmeister/kafka # Broker 2(端口9094) docker run -d --name kafka2 \ -p 9094:9094 \ -e KAFKA_BROKER_ID=2 \ -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9094 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 \ wurstmeister/kafka
3. 驗證集群狀態(tài)
docker ps # 應顯示4個容器(1個Zookeeper + 3個Kafka)
四、測試消息生產與消費
測試準備
打開兩個終端窗口,分別執(zhí)行以下操作:
窗口1:生產者(發(fā)送消息)
# 進入任意Kafka容器 docker exec -it kafka0 /bin/bash # 進入腳本目錄(注意版本號可能不同) cd /opt/kafka_2.13-2.7.0/bin # 啟動生產者并創(chuàng)建test主題 ./kafka-console-producer.sh \ --broker-list localhost:9092 \ --topic test
窗口2:消費者(接收消息)
# 進入同一Kafka容器 docker exec -it kafka0 /bin/bash # 進入腳本目錄 cd /opt/kafka_2.13-2.7.0/bin # 啟動消費者 ./kafka-console-consumer.sh \ --bootstrap-server localhost:9092 \ --topic test \ --from-beginning
測試結果
- 生產者窗口輸入任意文本(如Hello Kafka!)
- 消費者窗口將實時顯示接收的消息
五、關鍵參數說明
| 環(huán)境變量 | 作用 |
|---|---|
| KAFKA_BROKER_ID | 節(jié)點唯一標識(集群內不可重復) |
| KAFKA_ZOOKEEPER_CONNECT | Zookeeper服務地址 |
| KAFKA_ADVERTISED_LISTENERS | 對外暴露的訪問地址 |
| KAFKA_LISTENERS | 容器內部監(jiān)聽地址 |
六、常見問題排查
1. 連接超時
檢查服務器安全組/防火墻是否開放端口
確認IP地址是否正確替換
2. 消費者無數據
添加–from-beginning參數讀取歷史消息
檢查topic是否創(chuàng)建成功:
./kafka-topics.sh --list --bootstrap-server localhost:9092
3. 容器啟動失敗
查看日志定位問題:
docker logs -f kafka0
以上就是Docker快速搭建Kafka集群及測試的技術指南的詳細內容,更多關于Docker搭建Kafka集群的資料請關注腳本之家其它相關文章!
相關文章
在docker-compose.yml文件中配置容器的環(huán)境變量方式
本文介紹了在docker-compose.yml文件中設置和使用環(huán)境變量的方法,包括直接設置環(huán)境變量、從文件讀取環(huán)境變量以及使用多個環(huán)境文件進行不同部署環(huán)境的配置2024-11-11
樹莓派4b ubuntu19 server 安裝docker-ce的安裝步驟
這篇文章主要介紹了樹莓派4b ubuntu19 server 安裝docker-ce的安裝步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11

