环境准备
节点名称 | ip地址 |
---|---|
node1 | 192.168.130.20 |
node2 | 192.168.130.19 |
node2 | 192.168.130.21 |
安装docker
略
创建挂载目录
创建配置目录和数据目录(3个节点都执行)
mkdir -p /root/zookeeper/conf
mkdir -p /root/zookeeper/data
mkdir -p /root/zookeeper/log
写入配置
- 创建配置文件(3个节点都执行)
cd /root/zookeeper/conf
vi zoo.cfg
写入如下内容
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
clientPort=2181
server.1=192.168.130.20:2888:3888
server.2=192.168.130.19:2888:3888
server.3=192.168.130.21:2888:3888
- 写入id到/data/myid文件
node1
echo 1 >/root/zookeeper/data/myid
node2
echo 2 >/root/zookeeper/data/myid
node3
echo 3 >/root/zookeeper/data/myid
依次启动节点
node1
docker rm -f zk-node1
docker run -d --network=host --privileged=true -v /root/zookeeper/data:/data -v /root/zookeeper/conf:/conf -v /root/zookeeper/log:/datalog --name zk-node1 --restart always zookeeper:3.4.13
node2
docker rm -f zk-node2
docker run -d --network=host --privileged=true -v /root/zookeeper/data:/data -v /root/zookeeper/conf:/conf -v /root/zookeeper/log:/datalog --name zk-node2 --restart always zookeeper:3.4.13
node3
docker rm -f zk-node3
docker run -d --network=host --privileged=true -v /root/zookeeper/data:/data -v /root/zookeeper/conf:/conf -v /root/zookeeper/log:/datalog --name zk-node3 --restart always zookeeper:3.4.13
查看zookeeper状态
docker exec -it zk-node1 sh
/zookeeper-3.4.13 # cd bin
/zookeeper-3.4.13/bin # ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
依次进去zk-node2 zk-node3 查看zk状态是否正常