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