說明
kafka需要zookeeper來管理,所以要先安裝zookeeper
1.安裝zookeeper
拉取zookeeper鏡像
docker pull wurstmeister/zookeeper
運行zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
2.安裝kafka
拉取kafka鏡像
docker pull wurstmeister/kafka
運行kafka容器
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0
-e KAFKA_ZOOKEEPER_CONNECT=106.55.55.249:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.55.55.249:9092
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
-v /etc/localtime:/etc/localtime wurstmeister/kafka
參數解析:
-e KAFKA_BROKER_ID=0 在kafka集羣中,每個kafka都有一個BROKER_ID來區分自己
-e KAFKA_ZOOKEEPER_CONNECT=106.55.55.249:2181/kafka 配置zookeeper管理kafka的路徑106.55.55.249:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.55.55.249:9092 把kafka的地址端口註冊給zookeeper。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的監聽端口
-v /etc/localtime:/etc/localtime 容器時間同步虛擬機的時間
3.測試kafka是否搭建成功
shell連接工具開設兩個頁面,一個生產數據,一個消費數據
1.進入kafka容器內
docker exec -it 容器id /bin/bash
2.進入/opt/kafka_2.12-2.5.0/bin目錄
cd /opt/kafka_2.12-2.5.0/bin
3.運行kafka生產者發送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
4.運行kafka消費者消費消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
5.測試結果,在生產者一端發送消息,在消費者一端查看是否能接受到消息
發送數據
接受數據