Use docker to quickly build a zookeeper cluster

Environmental preparation

Node name ip address
node1 192.168.130.20
node2 192.168.130.19
node2 192.168.130.21

Install docker

slightly

Create mount directory

Create a configuration directory and a data directory (executed on all 3 nodes)

mkdir -p /root/zookeeper/conf

mkdir -p /root/zookeeper/data

mkdir -p /root/zookeeper/log

Write configuration

  1. Create a configuration file (execute on all 3 nodes)
cd /root/zookeeper/conf
vi  zoo.cfg

Write the following

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
  1. Write id to /data/myid file
    node1
echo 1 >/root/zookeeper/data/myid

node2

echo 2 >/root/zookeeper/data/myid

node3

echo 3 >/root/zookeeper/data/myid

Start the nodes one by one

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

View zookeeper status

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

Go to zk-node2 zk-node3 in turn to check whether the zk status is normal

Guess you like

Origin blog.csdn.net/kk3909/article/details/111937681