docker下运行kafka(初学版)
笔者比较特殊,在windows下的wsl玩了下docker,就随便用docker实验了下kafka。(wsl是啥大家自行百度)。
题外话:以前kafka都是强耦合zookeeper,4.0才完全剥离,现在是KRaft,所以就趁这个试了试。
1、docker pull apache/kafka:4.0.0
2、docker run -d -p 9092:9092 apache/kafka:4.0.0
3、docker container ps -a (查看kafka的镜像名称,这里假设为a)
4、docker exec -it a kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092 创建topic
如果这里报错 OCI runtime exec failed: exec failed: unable to start container process: exec: "kafka-topics.sh": executable file not found in $PATH: unknown
这里的命令就得写具体的kafka-topics.sh。首先可以排查下镜像 docker exec -it a /bin/bash 理论kafka的文件地址是opt/目录下,排查下,如果是的,将命令换成
docker exec -it a /opt/kafka/bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
注意这个命令的结构 topic后面接的是topic名称, bootstrap-server是broker地址
5、docker exec -it a /opt/kafka/bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
6、docker exec -it a /opt/kafka/bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092 这里键入消息 ,ctr+c结束
7、docker exec -it a /opt/kafka/bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092 接受消息
windows同理,运用bin目录下的windows目录下相同名称的bat,命令结构一致。
大部分来自官方网站 https://kafka.apache.org/quickstart
浙公网安备 33010602011771号