Docker中Zookeeper、Kafka的安裝與發送和消費消息


場景

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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM