插件窝 干货文章 docker怎么安装kafka

docker怎么安装kafka

Kafka Zookeeper Docker wurstmeister 940    来源:    2025-04-06

Docker 安装 Kafka 指南

Kafka 是一个分布式流处理平台,使用 Docker 可以方便地部署 Kafka 环境。以下是几种常见的 Docker 安装 Kafka 的方法:

方法一:使用官方镜像单节点安装

  1. 拉取 Kafka 和 Zookeeper 镜像

    docker pull wurstmeister/zookeeper
    docker pull wurstmeister/kafka
    
  2. 启动 Zookeeper

    docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper
    
  3. 启动 Kafka

    docker run -d --name kafka \
    -p 9092:9092 \
    -e KAFKA_ADVERTISED_HOST_NAME=localhost \
    -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
    --link zookeeper \
    wurstmeister/kafka
    

方法二:使用 Docker Compose 部署

  1. 创建 docker-compose.yml 文件:

    version: '3'
    services:
     zookeeper:
       image: wurstmeister/zookeeper
       ports:
         - "2181:2181"
    
     kafka:
       image: wurstmeister/kafka
       ports:
         - "9092:9092"
       environment:
         KAFKA_ADVERTISED_HOST_NAME: localhost
         KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       depends_on:
         - zookeeper
    
  2. 启动服务:

    docker-compose up -d
    

方法三:使用 Confluent 官方镜像

  1. 创建 docker-compose.yml 文件:

    version: '2'
    services:
     zookeeper:
       image: confluentinc/cp-zookeeper:latest
       environment:
         ZOOKEEPER_CLIENT_PORT: 2181
         ZOOKEEPER_TICK_TIME: 2000
       ports:
         - "2181:2181"
    
     kafka:
       image: confluentinc/cp-kafka:latest
       depends_on:
         - zookeeper
       ports:
         - "9092:9092"
       environment:
         KAFKA_BROKER_ID: 1
         KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
         KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
         KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    
  2. 启动服务:

    docker-compose up -d
    

验证安装

  1. 进入 Kafka 容器:

    docker exec -it kafka /bin/bash
    
  2. 创建测试主题:

    kafka-topics.sh --create --topic test --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092
    
  3. 列出所有主题:

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

常见问题解决

  1. 连接问题

    • 确保 KAFKA_ADVERTISED_HOST_NAMEKAFKA_ADVERTISED_LISTENERS 设置正确
    • 检查防火墙是否开放了 9092 端口
  2. 性能优化

    • 增加内存限制:-e KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    • 调整日志保留策略
  3. 数据持久化

    -v /your/path:/var/lib/kafka/data
    

希望这个指南能帮助你顺利在 Docker 中安装 Kafka。根据你的具体需求,可以选择适合的安装方式。