docker搭建zookeeper和kafka

docker run -d --restart=always --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
--env KAFKA_HEAP_OPTS=-Xmx256M \
--env KAFKA_HEAP_OPTS=-Xms128M \
-e KAFKA_ZOOKEEPER_CONNECT=172.28.99.11:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://47.92.110.110:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
wurstmeister/kafka:2.13-2.7.0

172.28.99.11 是内网IP

47.92.125.10 是外网IP,把kafka的地址端口注册给zookeeper,如果是本地远程访问要改成外网IP,比如Java程序访问出现无法连接。

#进入容器内部,创建topic

docker exec -it 容器ID /bin/bash
cd /opt/kafka/bin

ls

查看有哪些topic

./kafka-topics.sh --list --zookeeper 172.28.99.11:2181

 创建topic

./kafka-topics.sh --create --zookeeper 172.28.99.11:2181 --replication-factor 1 --partitions 1 --topic test-topic

创建生产者发送消息

./kafka-console-producer.sh --broker-list 172.28.99.11:9092 --topic test-topic

再开一个窗口运行消费者

docker exec -it 容器ID /bin/bash

cd /opt/kafka/bin

./kafka-console-consumer.sh --bootstrap-server 172.28.99.11:9092 --from-beginning --topic test-topic

在生产者发送消息,消费者能收到消息

猜你喜欢

转载自blog.csdn.net/wokoone/article/details/127765274