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 

    

posted @ 2025-03-28 14:57  lannoy  阅读(218)  评论(0)    收藏  举报