场景
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