在一台服务器里面通过docker-compose部署zookeeper,kafka集群
在同一台服务器里面部署zk,kafka集群
1、首先在服务器安装docker和docker-compose环境(这里不多说)
2、拉取zookeeper和kafka镜像到服务器上
可以通过以下命令来查找相关的镜像
docker search 镜像名称
docker search zookeeper
docker search kafka
3、通过 命令docker pull 镜像名称:版本号 拉取镜像
4、分别创建目录/zookeeper, /kafka,并在相应的目录里面新建docker-compose.yml文件
zookeeper集群对应的docker-compose.yml文件内容
version: '3.1'
services:
zoo1:
image: zookeeper:3.5.9
restart: always
hostname: zoo1
networks:
- zoo-net
ports:
- 2181:2181
volumes:
- zoo1-data:/data
- zoo1-log:/datalog
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
zoo2:
image: zookeeper:3.5.9
restart: always
hostname: zoo2
networks:
- zoo-net
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
zoo3:
image: zookeeper:3.5.9
restart: always
hostname: zoo3
networks:
- zoo-net
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
volumes:
zoo1-data:
external: false
zoo1-log:
external: false
networks:
zoo-net:
在目录/zookeeper下执行docker-compose up -d命令
/kafka目录下的docker-compose.yml文件内容
version: '2'
services:
kafka1:
image: kafka:0.11.0.1
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.16.119.28 #宿主机地址
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.119.28:9092 #宿主机地址
KAFKA_ZOOKEEPER_CONNECT: 172.16.119.28:2181,172.16.119.28:2182,172.16.119.28:2183 #zk宿主机地址
KAFKA_ADVERTISED_PORT: 9092
container_name: kafka1
kafka2:
image: kafka:0.11.0.1
ports:
- "9093:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.16.119.28 #宿主机地址
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.119.28:9093 #宿主机地址
KAFKA_ZOOKEEPER_CONNECT: 172.16.119.28:2181,172.16.119.28:2182,172.16.119.28:2183 #zk宿主机地址
KAFKA_ADVERTISED_PORT: 9093
container_name: kafka2
kafka3:
image: kafka:0.11.0.1
ports:
- "9094:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.16.119.28 #宿主机地址
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.119.28:9094 #宿主机地址
KAFKA_ZOOKEEPER_CONNECT: 172.16.119.28:2181,172.16.119.28:2182,172.16.119.28:2183 #zk宿主机地址
KAFKA_ADVERTISED_PORT: 9094
container_name: kafka3
在目录/kafka下执行docker-compose up -d命令
结果如下: