目录
部署环境
在一台安装了docker环境的宿主机启动三个zookeeper容器组成zookeeper集群。
zookeeper 版本:3.6.2
准备工作
拉去最新的zookeeper镜像到本地
docker pull zookeeper
查看镜像
docker images |grep zookeeper
启动zookeeper容器
可以使用命令 docker network inspect bridge,来查看docker默认桥接网络的网段,用于下面的容器启动时使用--ip指定ip地址。
分别启动三个zookeeper容器,并指定参数
docker run -d -p 2181:2181 -p 8080:8080 --name zk1 --privileged --restart always \
--ip 172.17.0.2 \
-e ZOO_MY_ID=1 \
-e "ZOO_SERVERS=server.1=172.17.0.2:2888:3888;2181 server.2=172.17.0.3:2888:3888;2181 server.3=172.17.0.4:2888:3888;2181" \
zookeeper:latest
docker run -d -p 2182:2181 -p 8081:8080 --name zk2 --privileged --restart always \
--ip 172.17.0.3 \
-e ZOO_MY_ID=2 \
-e "ZOO_SERVERS=server.1=172.17.0.2:2888:3888;2181 server.2=172.17.0.3:2888:3888;2181 server.3=172.17.0.4:2888:3888;2181" \
zookeeper:latest
docker run -d -p 2183:2181 -p 8082:8080 --name zk3 --privileged --restart always \
--ip 172.17.0.4 \
-e ZOO_MY_ID=3 \
-e "ZOO_SERVERS=server.1=172.17.0.2:2888:3888;2181 server.2=172.17.0.3:2888:3888;2181 server.3=172.17.0.4:2888:3888;2181" \
zookeeper:latest
其中-p 8080:8080端口是zookeeper启动的一个web服务,用于查看节点信息的,可以访问:http://ip:8080/commands/ 查看。
默认Docker使用Bridge网络模式,默认的网络为172.17.0段,当然你也可以另外创建一个桥接网络,使用--network netName,使用该网络。
验证
进入zk1查看服务状态:
docker exec -it zk1 /bin/bash
root@f9b4658cbbbc:/apache-zookeeper-3.6.2-bin# ls
LICENSE.txt NOTICE.txt README.md README_packaging.md bin conf docs lib
root@f9b4658cbbbc:/apache-zookeeper-3.6.2-bin# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
zk1为follower。
进入zk2查看服务状态:
docker exec -it zk2 /bin/bash
root@b852b5d0f9c3:/apache-zookeeper-3.6.2-bin#
root@b852b5d0f9c3:/apache-zookeeper-3.6.2-bin# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
zk2为leader。
进入zk3查看服务状态:
docker exec -it zk3 /bin/bash
root@0d41eaeb2ee2:/apache-zookeeper-3.6.2-bin# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
zk3为follower。