获取本地ip地址 ifconfig en0 192.168.31.35. 这边的ip地址在下面的ip会使用到
拉取镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
启动容器
启动 zookeeper
docker run -d --name zookeeper -p 12181:2181 wurstmeister/zookeeper
我本机端口2181本占用了。所以我用了 12181端口映射
启动 kafka
注意,kafka 依赖 zookeeper,启动 kafka 前需要先启动 zookeeper。 这边端口映射9092:9092 之前用19092:9092 装成功 消息一直发不了
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.31.35:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.31.35:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ="Asia/Shanghai" wurstmeister/kafka
测试功能是否正常
测试 kafka 生产与消费
进入 kafka 容器
docker exec -it kafka bash
进入 kafka 容器中的脚本目录
注意,此时应该已经进入到了容器中的bash
。
进入 kafka 的脚本目录,其中kafka_2.12-2.5.0
可能会随着版本而变化数字。
测试 kafka 生产者和消费者
启动 kafka 生产者
运行 kafka 生产者发送消息
./kafka-console-producer.sh --broker-list 192.168.31.35:9092 --topic first-topic
看到出现了个对话提示的小>
就可以发送消息了,不过不要着急,先把消费者启动了。
启动 kafka 消费者
另起一个终端,进入 kafka 容器,进入/opt/kafka_2.12-2.5.0/bin
目录,运行 kafka 消费者接收消息
标签:--,zookeeper,9092,kafka,mac,192.168,docker From: https://www.cnblogs.com/chenweihao/p/17231176.html