• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 土豆服务器 | 发布时间: 2025-6-14 13:28| 查看数: 68| 评论数: 0|帖子模式

    前言 Apache

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

    一、环境准备

    ​系统要求:Linux/macOS(Windows需安装Docker Desktop)
    ​Docker版本:建议使用20.10+
    ​网络配置:确保2181(Zookeeper)、9092-9094(Kafka)端口开放

    二、安装Zookeeper服务


    1. 拉取镜像
    1. docker search zookeeper      # 查看可用镜像
    2. docker pull wurstmeister/zookeeper  # 拉取官方推荐镜像
    复制代码
    2. 启动容器
    1. docker run -d --name zookeeper \
    2.   -p 2181:2181 \
    3.   -t wurstmeister/zookeeper
    复制代码
    三、搭建Kafka集群


    1. 拉取Kafka镜像
    1. docker search kafka --limit=50  # 查找镜像
    2. docker pull wurstmeister/kafka  # 拉取镜像
    复制代码
    2. 启动3个Broker节点

    注意:将下方所有xxx替换为服务器真实IP地址
    1. # Broker 0(端口9092)
    2. docker run -d --name kafka0 \
    3.   -p 9092:9092 \
    4.   -e KAFKA_BROKER_ID=0 \
    5.   -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \
    6.   -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9092 \
    7.   -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
    8.   wurstmeister/kafka

    9. # Broker 1(端口9093)
    10. docker run -d --name kafka1 \
    11.   -p 9093:9093 \
    12.   -e KAFKA_BROKER_ID=1 \
    13.   -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \
    14.   -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9093 \
    15.   -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 \
    16.   wurstmeister/kafka

    17. # Broker 2(端口9094)
    18. docker run -d --name kafka2 \
    19.   -p 9094:9094 \
    20.   -e KAFKA_BROKER_ID=2 \
    21.   -e KAFKA_ZOOKEEPER_CONNECT=xxx:2181 \
    22.   -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx:9094 \
    23.   -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 \
    24.   wurstmeister/kafka
    复制代码
    3. 验证集群状态
    1. docker ps  # 应显示4个容器(1个Zookeeper + 3个Kafka)
    复制代码
    四、测试消息生产与消费

    测试准备
    打开两个终端窗口,分别执行以下操作:
    窗口1:生产者(发送消息)
    1. # 进入任意Kafka容器
    2. docker exec -it kafka0 /bin/bash

    3. # 进入脚本目录(注意版本号可能不同)
    4. cd /opt/kafka_2.13-2.7.0/bin

    5. # 启动生产者并创建test主题
    6. ./kafka-console-producer.sh \
    7.   --broker-list localhost:9092 \
    8.   --topic test
    复制代码
    窗口2:消费者(接收消息)
    1. # 进入同一Kafka容器
    2. docker exec -it kafka0 /bin/bash

    3. # 进入脚本目录
    4. cd /opt/kafka_2.13-2.7.0/bin

    5. # 启动消费者
    6. ./kafka-console-consumer.sh \
    7.   --bootstrap-server localhost:9092 \
    8.   --topic test \
    9.   --from-beginning
    复制代码
    测试结果

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

    五、关键参数说明

    环境变量作用KAFKA_BROKER_ID节点唯一标识(集群内不可重复)KAFKA_ZOOKEEPER_CONNECTZookeeper服务地址KAFKA_ADVERTISED_LISTENERS对外暴露的访问地址KAFKA_LISTENERS容器内部监听地址
    六、常见问题排查


    1. 连接超时

    检查服务器安全组/防火墙是否开放端口
    确认IP地址是否正确替换

    2. 消费者无数据

    添加–from-beginning参数读取历史消息
    检查topic是否创建成功:
    1. ./kafka-topics.sh --list --bootstrap-server localhost:9092
    复制代码
    3. 容器启动失败

    查看日志定位问题:
    1. docker logs -f kafka0
    复制代码
    以上就是Docker快速搭建Kafka集群及测试的技术指南的详细内容,更多关于Docker搭建Kafka集群的资料请关注脚本之家其它相关文章!

    来源:https://www.jb51.net/server/340090j59.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表