一、 安装单节点
原则:数据目录,配置文件,日志目录需要挂载到宿主机上
-
创建目录存放挂在配置文件、日志、数据的目录
/root/zookeeper/zk1/conf /root/zookeeper/zk1/data /root/zookeeper/zk1/log
2. 添加配置文件
clientPort=2181 dataDir=/data dataLogDir=/datalog tickTime=2000 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=0 maxClientCnxns=60 # 将需要的命令添加到白名单中, 4lw.commands.whitelist=stat, ruok, conf, isro
3. 使用命令启动zk容器-启动后会产生3个zk的服务,但不是集群
配置文件中指定相关集群的IP和端口 - 服务zk1 docker run -d -p 2181:2181 -p 2889:2888 -p 3889:3888 --name zk1 --restart always --privileged=true -v /root/zookeeper/zk1/data:/data -v /root/zookeeper/zk1/log:/datalog -v /root/zookeeper/zk1/conf:/conf -e "TZ=Asia/Shanghai" -e "ZOO_MY_ID=111" zookeeper 服务zk2 docker run -d -p 2182:2181 -p 2888:2888 -p 3888:3888 --name zk2 --restart always --privileged=true -v /root/zookeeper/zk2/data:/data -v /root/zookeeper/zk2/log:/datalog -v /root/zookeeper/zk2/conf:/conf -e "TZ=Asia/Shanghai" -e "ZOO_MY_ID=222" zookeeper 服务zk3 docker run -d -p 2183:2181 -p 2890:2888 -p 3890:3888 --name zk3 --restart always --privileged=true -v /root/zookeeper/zk3/data:/data -v /root/zookeeper/zk3/log:/datalog -v /root/zookeeper/zk3/conf:/conf -e "TZ=Asia/Shanghai" -e "ZOO_MY_ID=333" zookeeper
不指定配置文件,关联的IP通过命令行直接传入
-- 参数中指定集群相关的ip和端口配置 docker run -d -p 2181:2181 -p 2887:2888 -p 3887:3888 --name zk1 --restart always --privileged=true -v /root/zookeeper/zk3/data:/data -v /root/zookeeper/zk3/log:/datalog -e "TZ=Asia/Shanghai" -e "ZOO_MY_ID=333" -e "ZOO_SERVERS=server.1=0.0.0.0:2888:3888 server.2=$machine_ip:2888:3888 server.3=$machine_ip:2889:3889" zookeeper 使用默认的配置文件 docker run -d -p 2181:2181 -p 2887:2888 -p 3887:3888 --name zk1 --restart always --privileged=true -v /root/zookeeper/zk3/data:/data -v /root/zookeeper/zk3/log:/datalog -e "TZ=Asia/Shanghai" -e "ZOO_MY_ID=1" -e "ZOO_SERVERS=server.1=0.0.0.0:2888:3888 server.2=$machine_ip:2888:3888 server.3=$machine_ip:2889:3889" zookeeper
-
测试单机启动是否好用
echo stat | nc 192.168.112.131 2181
Zookeeper version: 3.6.2--803c7f1a12f85978cb049af5e4ef23bd8b688715, built on 09/04/2020 12:44 GMT Clients: /192.168.112.131:50864[0](queued=0,recved=1,sent=0) /192.168.112.1:64363[1](queued=0,recved=45,sent=45) Latency min/avg/max: 0/0.3182/4 Received: 46 Sent: 45 Connections: 2 Outstanding: 0 Zxid: 0x8 Mode: standalone Node count: 7
二、 启动多节点组成集群 -- 集群模式搭建失败,后面在找问题吧
1、修改三个节点的配置文件添加集群配置:
#IP为容器IP,使用宿主机的IP测试有问题,集群不能启动 server.111=172.17.0.2:2888:3888 server.222=172.17.0.11:2888:3888 server.333=172.17.0.12:2888:3888