場景
Kafka依賴於ZooKeeper,這里使用Docker進行Zookeeper和Kafka的安裝,並實現發送消息和消費消息。
CentOS7中Docker的安裝與配置:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701
在上面將Docker安裝成功的基礎上。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
1、搜索有哪些zookeeper的鏡像
docker search zookeeper
選擇STARS最多的拉取
docker pull zookeeper
2、搜索有哪些kafka的鏡像
docker search kafka
同樣選擇STARS最多的拉取
docker pull bitnami/kafka
3、啟動zookeeper
docker run -d --name zookeeper -p 2181:2181 -t zookeeper
4、啟動kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=12.0.0.1:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://12.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t bitnami/kafka
注意環境變量-e配置中
KAFKA_BROKER_ID 每個kafka都會有一個BROKER_ID來區分自己
KAFKA_ZOOKEEPER_CONNECT=12.0.0.1:2181 是配置zookeeper的ip和端口
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://12.0.0.1:9092 把kafka的地址端口注冊給zookeeper
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafaka的監聽端口
ALLOW_PLAINTEXT_LISTENER=yes 允許使用PLAINTEXT偵聽器
如果不配置這個啟動kafka后會失敗在日志中會提示:
The KAFKA_CFG_LISTENERS environment variable does not configure a secure listener. Set the environment variable ALLOW_PLAINTEXT_LISTENER=yes to allow the container to be started with a plaintext listener. This is only recommended for development.
The KAFKA_ZOOKEEPER_PROTOCOL environment variable does not configure a secure protocol. Set the environment variable ALLOW_PLAINTEXT_LISTENER=yes to allow the container to be started with a plaintext listener. This is only recommended for development.
5、啟動成功之后進入kafka容器內部
查看運行的容器中kafka的容器id
docker ps
然后進入容器內部
docker exec -it 5e2fa88e560e /bin/bash
找到kafka的bin目錄
find / -name kafka
進入到bin目錄
cd /opt/bitnami/kafka/bin
6、創建Topic主題
kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --topic badao --partitions 1 --replication-factor 1
7、發送消息
kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic badao
發送消息,按回車,之后按行向kafka發送消息 ctrl+C 退出
8、消費消息
此時再復制一個連接,同樣進入容器內部的kafka的bin目錄下
kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic badao