centos 7中docker 部署zookeeper和kafka(单节点适合开发环境)

网上看了一些教程,发现多数有坑,现在自己写一篇,本人亲测可用
各个软件版本:

centos 7.2
kafka 2.11-2.0.0
docker 18.06.0-ce(这个安装参考我的另外一篇博客https://blog.csdn.net/qq_16563637/article/details/81699251)

下载zookeeper和kafka镜像

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

分别启动zookeeper和kafka

docker run -p 2181:2181 -v $PWD/data:/data  -d zookeeper:latest
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.0.157 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

克隆一个会话(就是再开一个ssh远程命令行界面)

docker ps

在两个会话中执行找到kafka的Container ID,进入容器内部

docker exec -it ${CONTAINER ID} /bin/bash
cd opt
cd kafka_2.11-2.0.0

(下面内容需要在两个会话中分别执行)
启动消息生产者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test3

启动消息消费者

bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic test3 --from-beginning 

发现报错

zookeeper is not a recognized option

查了好久发现
这个命令已经过时
0.90版本之后启动消费者的方法

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test3 --from-beginning

在producer中输入内容aaa
发现consumer能够收到

猜你喜欢

转载自blog.csdn.net/qq_16563637/article/details/81701445