启动zk节点
sudo docker exec -it zoo1_Container_ID /bin/bash
sudo docker exec -it zoo2_Container_ID /bin/bash
sudo docker exec -it zoo3_Container_ID /bin/bash
由于我们分别将 zoo1, zoo2, zoo3 的 2181 端口映射到了 本地主机的2181, 2182, 2183 端口上, 因此我们使用如下命令即可连接 ZK 集群了:
zoo1_Container_ID容器下执行:
echo stat | nc 127.0.0.1 2181
zoo2_Container_ID容器下执行:
echo stat | nc 127.0.0.1 2182
zoo3_Container_ID容器下执行:
echo stat | nc 127.0.0.1 2183
查看zookeeper集群启动情况
本机> COMPOSE_PROJECT_NAME=zk_test docker-compose ps
zoo1 /docker-entrypoint.sh zkSe ... Exit 130
zoo2 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:2182->2181/tcp, 2888/tcp, 3888/tcp
zoo3 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:2183->2181/tcp, 2888/tcp, 3888/tcp
当zookeeper集群中有机器宕机,则需要修复重启该机器,并向zookeeper集群注册参加选举,选举出Master节点。详情见zookeeper工作机制