赞
踩
- docker search zookeeper #检索zookeeper镜像
- docker pull <imagename> #根据检索的结果下载自己想要的镜像和版本
- docker search kafka #检索Kafka镜像
- docker pull <imagename> #根据检索的结果下载自己想要的镜像和版本
- docker images -a 查看已下载的镜像
1. 规划一个集群使用的子网
- docker network create kafka --subnet 172.18.0.0/16 #创建一个用于kafka集群的网桥
- docker network ls 查看docker的网络
- docker network inspect kafka 查看网络网桥详情
2. 规划zk和kafka的IP地址
hostname | ip addr | port | listener |
zk1 | 172.18.10.11 | 2182:2181 | |
zk2 | 172.18.10.12 | 2183:2181 | |
zk3 | 172.18.10.13 | 2184:2181 | |
kafka1 | 172.18.10.14 | 内部9092:9092,外部9192:9192 | kafka1 |
kafka2 | 172.18.10.15 | 内部9093:9093,外部9193:9193 | kafka2 |
kafka3 | 172.18.10.16 | 内部9094:9094,外部9194:9194 | kafka3 |
1. 创建zk.yaml文件
version: '3.4' services: zk1: image: zookeeper restart: always hostname: zk1 container_name: zk1 ports: - 2182:2181 - 8081:8080 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.11 zk2: image: zookeeper restart: always hostname: zk2 container_name: zk2 ports: - 2183:2181 - 8082:8080 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.12 zk3: image: zookeeper restart: always hostname: zk3 container_name: zk3 ports: - 2184:2181 - 8083:8080 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.13 networks: kafka: external: name: kafka
- docker-compose -f zk.yml up -d #创建zk集群
- docker ps -a 查看创建的容器
检查zk集群是否创建成功
1.创建kafka.yml文件
version: '3.4' services: zk1: image: zookeeper restart: always hostname: zk1 container_name: zk1 ports: - 2182:2181 - 8081:8080 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.11 zk2: image: zookeeper restart: always hostname: zk2 container_name: zk2 ports: - 2183:2181 - 8082:8080 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.12 zk3: image: zookeeper restart: always hostname: zk3 container_name: zk3 ports: - 2184:2181 - 8083:8080 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 networks: kafka: ipv4_address: 172.18.10.13 networks: kafka: external: name: kafka
检查kafka集群是否均注册到zk上
- docker exec -it 0aff4c8b6034 /bin/bash #进入到其中一台zk容器
- cd bin #进入到zookeeper的bin目录
- ./zkCli.sh -server 127.0.0.1:2181 #进入zk的客户端
- ls /brokers/ids #查看节点是否存在
- get /brokers/ids/1 #查询节点信息
- docker ps -a #查询容器列表
- docker exec -it 8aafb38249f8 /bin/bash #进入其中的一个kafka节点
- cd /opt/kafka_2.13-2.8.1/bin #切换到kafka的bin目录
- kafka-topics.sh --create --zookeeper zk2:2181 --replication-factor 2 --partitions 2 --topic partopic #创建topic
- kafka-topics.sh --describe --zookeeper zk1:2181 --topic partopic #检查topic是否创建成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。