目录

docker部署zookeeper伪集群

docker部署zookeeper伪集群

下载镜像

docker pull zookeeper

修改/etc/hosts文件

vi /etc/hosts
localhost znode1
localhost znode1
localhost znode1

生成相关配置文件

echo 'dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
clientPort=2181
admin.enableServer=true
server.1=znode1:2888:3888
server.2=znode2:2889:3889
server.3=znode3:2890:3890' > /usr/local/zookeeper/znode1/conf/zoo.cfg

echo '1' > /usr/local/zookeeper/znode1/data/myid

echo 'dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
clientPort=2182
admin.enableServer=true
server.1=znode1:2888:3888
server.2=znode2:2889:3889
server.3=znode3:2890:3890' > /usr/local/zookeeper/znode2/conf/zoo.cfg

echo '2' > /usr/local/zookeeper/znode2/data/myid

echo 'dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
clientPort=2183
admin.enableServer=true
server.1=znode1:2888:3888
server.2=znode2:2889:3889
server.3=znode3:2890:3890' > /usr/local/zookeeper/znode3/conf/zoo.cfg

echo '3' > /usr/local/zookeeper/znode3/data/myid

创建zk容器

docker run -d \
  --name zookeeper1 \
  --hostname znode1 \
  --network zookeeper-net \
  -p 2181:2181 \
  -e TZ="Asia/Shanghai" \
  -v /usr/local/zookeeper/znode1/data:/data \
  -v /usr/local/zookeeper/znode1/conf:/conf \
  zookeeper:latest

docker run -d \
  --name zookeeper2 \
  --hostname znode2 \
  --network zookeeper-net \
  -p 2182:2182 \
  -e TZ="Asia/Shanghai" \
  -v /usr/local/zookeeper/znode2/data:/data \
  -v /usr/local/zookeeper/znode2/conf:/conf \
  zookeeper:latest

docker run -d \
  --name zookeeper3 \
  --hostname znode3 \
  --network zookeeper-net \
  -p 2183:2183 \
  -e TZ="Asia/Shanghai" \
  -v /usr/local/zookeeper/znode3/data:/data \
  -v /usr/local/zookeeper/znode3/conf:/conf \
  zookeeper:latest

查看容器运行状态

docker ps -a