zookeeper集群部署
拉取zookeeper镜像
docker pull zookeeper:3.6.2
部署规划
节点 | 挂载卷 | 端口 |
---|---|---|
192.168.1.70 | /data/zookeeper/{data,conf,datalog} | 2181、2888、3888 |
192.168.1.71 | /data/zookeeper/{data,conf,datalog} | 2181、2888、3888 |
192.168.1.72 | /data/zookeeper/{data,conf,datalog} | 2181、2888、3888 |
创建目录以及配置文件
mkdir -pv /data/zookeeper/{data,conf,datalog}
vim /data/zookeeper/conf/zoo.cfg
添加以下内容
tickTime=2000
dataDir=/data
dataLogDir=/datalog
clientPort=2181
initLimit=5
syncLimit=2
server.0=192.168.1.70:2888:3888
server.1=192.168.1.71:2888:3888
server.2=192.168.1.72:2888:3888
启动命令
注意 需要修改ZOO_MY_ID为对应server.id的id
docker run --name zookeeper-service --net=host -e ZOO_MY_ID=0 -v /etc/localtime:/etc/localtime -v /data/zookeeper/conf/zoo.cfg:/conf/zoo.cfg -v /data/zookeeper/data:/data -v /data/zookeeper/datalog:/datalog --restart=always -d zookeeper:3.6.2
进入容器验证
docker exec -it zookeeper-service /bin/bash
查看节点信息
zkServer.sh status
如图成功安装:
kafka集群部署
docker pull wurstmeister/kafka
部署规划
节点 | 挂载卷 | 端口 |
---|---|---|
192.168.1.70 | /data/kafka/{data,conf,datalog} | 9092 |
192.168.1.71 | /data/kafka/{data,conf,datalog} | 9092 |
192.168.1.72 | /data/kafka/{data,conf,datalog} | 9092 |
启动
注意需要修改参数里面的ip
docker run --name kafka-service --net=host
-e KAFKA_ADVERTISED_PORT=9092
-e KAFKA_ZOOKEEPER_CONNECT=192.168.1.70:2181,192.168.1.71:2181,192.168.1.72:2181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.70:9092
-e KAFKA_LISTENERS=PLAINTEXT://192.168.1.70:9092 -e KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"
-v /etc/localtime:/etc/localtime -v /data/kafka/data:/kafka -v /data/kafka/logs:/opt/kafka/logs --restart=always -d wurstmeister/kafka:latest