当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker快速搭建Kafka集群及测试的技术指南

Docker快速搭建Kafka集群及测试的技术指南

2025年04月24日 云虚拟主机 我要评论
前言 apachekafka是一款高吞吐量的分布式消息系统,配合zookeeper可实现集群化部署。本文通过docker容器技术,​3分钟快速搭建3节点kafka集群并完成消息生产消费测试。一、环境准

前言 apache

kafka是一款高吞吐量的分布式消息系统,配合zookeeper可实现集群化部署。本文通过docker容器技术,​3分钟快速搭建3节点kafka集群并完成消息生产消费测试。

一、环境准备

​系统要求:linux/macos(windows需安装docker desktop)

​docker版本:建议使用20.10+

​网络配置:确保2181(zookeeper)、9092-9094(kafka)端口开放

二、安装zookeeper服务

1. 拉取镜像

docker search zookeeper      # 查看可用镜像
docker pull wurstmeister/zookeeper  # 拉取官方推荐镜像

2. 启动容器

docker run -d --name zookeeper \
  -p 2181:2181 \
  -t wurstmeister/zookeeper

三、搭建kafka集群

1. 拉取kafka镜像

docker search kafka --limit=50  # 查找镜像
docker pull wurstmeister/kafka  # 拉取镜像

2. 启动3个broker节点

注意:将下方所有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

3. 验证集群状态

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

测试结果

  • 生产者窗口输入任意文本(如hello kafka!)
  • 消费者窗口将实时显示接收的消息

五、关键参数说明

环境变量作用
kafka_broker_id节点唯一标识(集群内不可重复)
kafka_zookeeper_connectzookeeper服务地址
kafka_advertised_listeners对外暴露的访问地址
kafka_listeners容器内部监听地址

六、常见问题排查

1. 连接超时

检查服务器安全组/防火墙是否开放端口

确认ip地址是否正确替换

2. 消费者无数据

添加–from-beginning参数读取历史消息

检查topic是否创建成功:

./kafka-topics.sh --list --bootstrap-server localhost:9092

3. 容器启动失败

查看日志定位问题:

docker logs -f kafka0

以上就是docker快速搭建kafka集群及测试的技术指南的详细内容,更多关于docker搭建kafka集群的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com