docker zookeeper 集群搭建

前言

其实zookeeper在一般的公司的应用不太多,注册中心、分布式锁、选举等等。之前用dubbo,就会用到zookeeper作为服务注册中心,现在转向springcloud,就很少用zookeeper了。但是近期研究分布式锁,对比了很多方案,比如数据库,redis,zookeeper等等,最终还是选择zookeeper,至于原因会在后续的文章中提到。
在开发环境中,大家应该都用的是zookeeper单点吧,但是在生产环境中我相信没有人敢用单点的,应该都是用的集群,因为万一单点挂掉的话,我们的应用也就自然而然的ConnectionException。那么,接下来我就记录一下我自己用docker搭建zookeeper集群。

准备工具

一、安装docker
二、在docker库获取镜像:zookeeper(tips:我下载的版本是3.4.13)

搭建

一、启动zookeeper单点,在开发环境中一般都用单点

docker run -d -p 2181:2181 --restart always --name zookeeper \
-v $PWD/volume/data:/data \
-v $PWD/volume/datalog:/datalog \
zookeeper:3.4.13

二、zookeeper 集群搭建,这里我准备利用三个zookeeper节点组成一个集群,并且三个节点都在同一台主机上,如果需要节点原型在不同的主机上,修改对应的ip和端口即可

-- 创建节点文件夹
mkdir cluster/node1 -p && mkdir cluster/node2 -p && mkdir cluster/node3 -p

-- 机器ip
machine_ip=10.82.12.95

-- 运行节点1
docker run -d -p 2181:2181 -p 2887:2888 -p 3887:3888 --name zookeeper_node1 --restart always \
-v $PWD/cluster/node1/volume/data:/data \
-v $PWD/cluster/node1/volume/datalog:/datalog \
-e "TZ=Asia/Shanghai" \
-e "ZOO_MY_ID=1" \
-e "ZOO_SERVERS=server.1=0.0.0.0:2888:3888 server.2=$machine_ip:2888:3888 server.3=$machine_ip:2889:3889" \
zookeeper:3.4.13

-- 运行节点2
docker run -d -p 2182:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node2 --restart always \
-v $PWD/cluster/node2/volume/data:/data \
-v $PWD/cluster/node2/volume/datalog:/datalog \
-e "TZ=Asia/Shanghai" \
-e "ZOO_MY_ID=2" \
-e "ZOO_SERVERS=server.1=$machine_ip:2887:3887 server.2=0.0.0.0:2888:3888 server.3=$machine_ip:2889:3889" \
zookeeper:3.4.13

-- 运行节点3
docker run -d -p 2183:2181 -p 2889:2888 -p 3889:3888 --name zookeeper_node3 --restart always \
-v $PWD/cluster/node3/volume/data:/data \
-v $PWD/cluster/node3/volume/datalog:/datalog \
-e "TZ=Asia/Shanghai" \
-e "ZOO_MY_ID=3" \
-e "ZOO_SERVERS=server.1=$machine_ip:2887:3887 server.2=$machine_ip:2888:3888 server.3=0.0.0.0:2888:3888" \
zookeeper:3.4.13

打开zookeeper链接工具ZooInspector进行测试,没毛病。。。。。。

 

转载于:https://my.oschina.net/dslcode/blog/1944775

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值