以下是使用 Docker Compose 部署 Zookeeper、Kafka、Kafka-Manager 集群的示例:

  1. 创建一个目录,例如:/home/user/kafka-cluster

  2. 在该目录下创建一个docker-compose.yml文件,内容如下:

version: '3'

services:
  zookeeper:
    image: zookeeper:3.5.6
    ports:
      - '2181:2181'
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zookeeper:2888:3888
    volumes:
      - './data/zookeeper:/data'

  kafka1:
    image: wurstmeister/kafka:2.12-2.7.0
    ports:
      - '9092:9092'
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_BROKER_ID: 1
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - './data/kafka1:/kafka'
    depends_on:
      - zookeeper

  kafka2:
    image: wurstmeister/kafka:2.12-2.7.0
    ports:
      - '9093:9092'
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_BROKER_ID: 2
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - './data/kafka2:/kafka'
    depends_on:
      - zookeeper

  kafka3:
    image: wurstmeister/kafka:2.12-2.7.0
    ports:
      - '9094:9092'
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka3
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_BROKER_ID: 3
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - './data/kafka3:/kafka'
    depends_on:
      - zookeeper

  kafka-manager:
    image: hlebalbau/kafka-manager:latest
    ports:
      - '9000:9000'
    environment:
      ZK_HOSTS: zookeeper:2181
      APPLICATION_SECRET: 'random-secret'
    depends_on:
      - zookeeper
  1. 创建一个data目录,用于存储zookeeper和kafka的数据
mkdir -p /home/user/kafka-cluster/data/zookeeper
mkdir -p /home/user/kafka-cluster/data/kafka1
mkdir -p /home/user/kafka-cluster/data/kafka2
mkdir -p /home/user/kafka-cluster/data/kafka3
  1. 使用docker-compose启动集群
cd /home/user/kafka-cluster
docker-compose up -d
  1. 查看服务状态
docker-compose ps
  1. 访问kafka-manager

打开浏览器,访问http://localhost:9000,即可进入kafka-manager的管理界面。在界面上添加kafka集群,将Cluster Zookeeper Hosts设置为zookeeper:2181Cluster Name可以根据需要自己设置。之后就可以在kafka-manager上进行kafka集群的管理了。

Docker Compose 部署 Zookeeper、Kafka 和 Kafka-Manager 集群

原文地址: https://www.cveoy.top/t/topic/nveZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录