其他分享
首页 > 其他分享> > Docker - Zookeeper + Kafka 集群搭建

Docker - Zookeeper + Kafka 集群搭建

作者:互联网

  获取 zookeeper 镜像:

docker pull zoopkeeper

查看镜像:

docker images | grep zook

创建自定义网络:

docker network create --subnet=172.21.0.0/16 nt12721

查看网络

docker network inspect nt17221

 

zookeeper - docker 上的地址:https://hub.docker.com/_/zookeeper

编写 /home/docker-composer/zook.yml 文件

version: '3.4'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    container_name: zoo1
    ports:
    - 2181:2181
    volumes:
    - "/home/zookeeper/zoo1/data:/data"
    - "/home/zookeeper/zoo1/log:/datalog"
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    networks:
      nt17221:
        ipv4_address: 172.21.0.11

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    container_name: zoo2
    ports:
    - 2182:2181
    volumes:
    - "/home/zookeeper/zoo2/data:/data"
    - "/home/zookeeper/zoo2/log:/datalog"
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888
    networks:
      nt17221:
        ipv4_address: 172.21.0.12

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    container_name: zoo3
    ports:
    - 2183:2181
    volumes:
    - "/home/zookeeper/zoo3/data:/data"
    - "/home/zookeeper/zoo3/log:/datalog"
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888
    networks:
      nt17221:
        ipv4_address: 172.21.0.13

networks:
  nt17221:
    external:
      name: nt17221

启动 zookeeper 集群

docker-compose -f  zook.yml up   // 加上 -d 参数为后台执行

启动成功

 

 获取 wurstmeister/kafka 镜像:

docker pull wurstmeister/kafka

查看镜像:

docker images | grep kafka

 

采用 wurstmeister/kafka 镜像

kafka - docker 上的地址:https://hub.docker.com/r/wurstmeister/kafka/tags

编写 /home/docker-composer/kafka.yml 文件

version: '2'

services:
  kafka1:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka1
    container_name: kafka1
    ports:
    - 9092:9092
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka1
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
    - /home/kafka/kafka1/log:/kafka
    external_links:
    - zoo1
    - zoo2
    - zoo3
    networks:
      nt17221:
        ipv4_address: 172.21.0.14

  kafka2:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka2
    container_name: kafka2
    ports:
    - 9093:9092
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka2
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
    - /home/kafka/kafka2/log:/kafka
    external_links:
    - zoo1
    - zoo2
    - zoo3
    networks:
      nt17221:
        ipv4_address: 172.21.0.15

  kafka3:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka3
    container_name: kafka3
    ports:
    - 9094:9092
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka3
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
    - /home/kafka/kafka3/log:/kafka
    external_links:
    - zoo1
    - zoo2
    - zoo3
    networks:
      nt17221:
        ipv4_address: 172.21.0.16

networks:
  nt17221:
    external:
      name: nt17221

 启动 zook 和 kafka 服务:

docker-compose -f zook.yml up
docker-compose -f zafka.yml up

 

创建 topic

 

 

生产消息

 

消费消息

 

 

 设置主机 hosts 访问 kafka:

 

参照地址:https://www.cnblogs.com/saneri/p/8762168.html

标签:zookeeper,Zookeeper,kafka,zoo1,zoo2,zoo3,Docker,Kafka,docker
来源: https://www.cnblogs.com/xdtx/p/11098252.html