docker搭建zookeeper集群

这里我的环境为centos7,ubuntu请在命令头加上sudo

# 创建一个docker网络,之后的zookeeper集群就放在这个网络上
docker create network zoonet 


# 创建3个zookeeper的容器,这里我没有映射端口
# -p 宿主机端口:容器内端口  ,具体查看docker run --help
# zoonode1
docker run -d -it --name zoonode1 \
> -v /conf/:/conf/ -e "ZOO_MY_ID=1" --net zoonet zookeeper:3.5.7

# zoonode2
docker run -d -it --name zoonode2 \
> -v /conf/:/conf/ -e "ZOO_MY_ID=2" --net zoonet zookeeper:3.5.7

# zoonode3
docker run -d -it --name zoonode3 \
> -v /conf/:/conf/ -e "ZOO_MY_ID=3" --net zoonet zookeeper:3.5.7

# zookeeper容器中的配置文件在/conf/zoo.cfg中,
# -v 宿主机目录:容器内目录  映射到宿主机的/conf/zoo.cfg中,方便修改
# -e "ZOO_MY_ID=3"就是环境变量,设置myid的值,即节点几
# --net zoonet 就是将这个容器放在zoonet这个网络中
# 可以docker inspect zoonet 查看你所创建的网络,以及在此网络中的容器

创建好容器后,修改宿主机映射的zoo.cfg文件

cd /conf/zoo.cfg
vim zoo.cfg

修改文件末尾为:

 

 注意:server.后面跟的数字要和运行容器时-e中的环境变量的ZOO_MY_ID的值保持一致,同时和zoonode保持一致。

修改完配置文件后最好重启一下容器

docker stop zoonode1 zoonode2 zoonode3
docker start zoonode1 zoonode2 zoonode3

 docker  ps 可查看容器状态

 进入zoonode1容器查看:

 docker exec -it zoonode1 /bin/bash

 可见,Mode:follwer的字样代表集群启动成功,同理,可查看zoonode2和zoonode3的状态.

zoonode2:

发现zoonode2的Mode:leader,可见zoonode2为领导者。

 zoonode3:

 到此zookeeper集群搭建完毕。然后就是启动客户端测试,这是zookeeper的课程内容了。下次实现docker-compose搭建集群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值