43人参与 • 2025-04-24 • 云虚拟主机
kafka是一款高吞吐量的分布式消息系统,配合zookeeper可实现集群化部署。本文通过docker容器技术,3分钟快速搭建3节点kafka集群并完成消息生产消费测试。
系统要求:linux/macos(windows需安装docker desktop)
docker版本:建议使用20.10+
网络配置:确保2181(zookeeper)、9092-9094(kafka)端口开放
docker search zookeeper # 查看可用镜像 docker pull wurstmeister/zookeeper # 拉取官方推荐镜像
docker run -d --name zookeeper \ -p 2181:2181 \ -t wurstmeister/zookeeper
docker search kafka --limit=50 # 查找镜像 docker pull wurstmeister/kafka # 拉取镜像
注意:将下方所有xxx替换为服务器真实ip地址
# broker 0(端口9092) docker run -d --name kafka0 \ -p 9092:9092 \ -e kafka_broker_id=0 \ -e kafka_zookeeper_connect=xxx:2181 \ -e kafka_advertised_listeners=plaintext://xxx:9092 \ -e kafka_listeners=plaintext://0.0.0.0:9092 \ wurstmeister/kafka # broker 1(端口9093) docker run -d --name kafka1 \ -p 9093:9093 \ -e kafka_broker_id=1 \ -e kafka_zookeeper_connect=xxx:2181 \ -e kafka_advertised_listeners=plaintext://xxx:9093 \ -e kafka_listeners=plaintext://0.0.0.0:9093 \ wurstmeister/kafka # broker 2(端口9094) docker run -d --name kafka2 \ -p 9094:9094 \ -e kafka_broker_id=2 \ -e kafka_zookeeper_connect=xxx:2181 \ -e kafka_advertised_listeners=plaintext://xxx:9094 \ -e kafka_listeners=plaintext://0.0.0.0:9094 \ wurstmeister/kafka
docker ps # 应显示4个容器(1个zookeeper + 3个kafka)
测试准备
打开两个终端窗口,分别执行以下操作:
窗口1:生产者(发送消息)
# 进入任意kafka容器 docker exec -it kafka0 /bin/bash # 进入脚本目录(注意版本号可能不同) cd /opt/kafka_2.13-2.7.0/bin # 启动生产者并创建test主题 ./kafka-console-producer.sh \ --broker-list localhost:9092 \ --topic test
窗口2:消费者(接收消息)
# 进入同一kafka容器 docker exec -it kafka0 /bin/bash # 进入脚本目录 cd /opt/kafka_2.13-2.7.0/bin # 启动消费者 ./kafka-console-consumer.sh \ --bootstrap-server localhost:9092 \ --topic test \ --from-beginning
测试结果
环境变量 | 作用 |
---|---|
kafka_broker_id | 节点唯一标识(集群内不可重复) |
kafka_zookeeper_connect | zookeeper服务地址 |
kafka_advertised_listeners | 对外暴露的访问地址 |
kafka_listeners | 容器内部监听地址 |
检查服务器安全组/防火墙是否开放端口
确认ip地址是否正确替换
添加–from-beginning参数读取历史消息
检查topic是否创建成功:
./kafka-topics.sh --list --bootstrap-server localhost:9092
查看日志定位问题:
docker logs -f kafka0
以上就是docker快速搭建kafka集群及测试的技术指南的详细内容,更多关于docker搭建kafka集群的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论