创建网络
一定要将zookeeper注册中心与kafka建在一个network中,不然在springboot 集成 kakfa的demo测试代码中进行消息发送时会超时,报错:
E
x
c
e
p
t
i
o
n
t
h
r
o
w
n
w
h
e
n
s
e
n
d
i
n
g
a
m
e
s
s
a
g
e
w
i
t
h
k
e
y
=
‘
n
u
l
l
‘
Exception thrown when sending a message with key=‘null‘
Exceptionthrownwhensendingamessagewithkey=‘null‘
docker network create zk-ka-net
docker启动zookeeper注册中心
docker pull wurstmeister/zookeeper
docker run -d--name zookeeper --network zk-ka-net -p2181:2181 -t wurstmeister/zookeeper
docker启动kafka服务
docker pull wurstmeister/kafka
docker run -d--name kafka -p9092:9092 --network zk-ka-net --link zookeeper:zookeeper -eKAFKA_BROKER_ID=0-eKAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://外网ip:9092 -eKAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
基本使用
- 进入容器
dockerexec-it${CONTAINER ID} /bin/bash
- 进入kafka的bin目录下
echo$PATHcd /opt/kafka/bin
- 创建topic
kafka-topics.sh --create--zookeeper zookeeper:2181 --replication-factor 1--partitions1--topic my_topic
- 运行生产者
kafka-console-producer.sh --broker-list 外网ip:9092 --topic my_topic
6.消费topic
kafka-console-consumer.sh --bootstrap-server 外网ip:9092 --from-beginning --topic my_topic
springboot 集成 kakfa代码:https://github.com/ZYNORl/project-demo/tree/main
附带一个本地启动的docker命令
docker run -d--name kafka -p9092:9092 --link zookeeper:zookeeper -eKAFKA_BROKER_ID=0-eKAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -eKAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
本文转载自: https://blog.csdn.net/qq_44222849/article/details/135299389
版权归原作者 ZYNORL 所有, 如有侵权,请联系我们删除。
版权归原作者 ZYNORL 所有, 如有侵权,请联系我们删除。