docker搭建zookeeper集群(伪集群)

该博客介绍了如何在同一台机器上使用Docker部署多个Zookeeper容器,形成伪集群。首先,通过下载zookeeper镜像并创建映射目录来准备环境。接着,配置每个容器的IP地址,并修改zoo.cfg和myid文件。最后,重启容器并检查其状态,确保集群正常运行。即使关闭一台容器,由于集群的高可用性,其他容器仍能提供服务。

《docker版dubbo-admin》

前言:以下说的都是同一台机器上部署多个容器(伪集群)方式;
docker版集群难点在于如何实现容器之间的相互通信。由于在同一台机器上刚好有便捷方式处理,实际生产上,请自行研究下–link或–network的用法

一.准备工作

01.下载zookeeper镜像

docker pull docker.io/zookeeper:3.6.3

02.宿主机-创建映射目录

我这边打算把容器上的conf、data目录映射出来到宿主机来,以方便后续操作。
我在宿主机的建了如下几个目录
在这里插入图片描述

03.创建容器

容器:zookeeper_2181

docker run -id \
-v /LM/docker-zookeeper-cluster/conf:/conf \
-v /LM/docker-zookeeper-cluster/data1:/data \
-p 2181:2181 \
--name=zookeeper_2181 \
zookeeper:3.6.3

容器:zookeeper_2182

docker run -id \
-v /LM/docker-zookeeper-cluster/conf:/conf \
-v /LM/docker-zookeeper-cluster/data2:/data \
-p 2182:2181 \
--name=zookeeper_2182 \
zookeeper:3.6.3

容器:zookeeper_2183

docker run -id \
-v /LM/docker-zookeeper-cluster/conf:/conf \
-v /LM/docker-zookeeper-cluster/data3:/data \
-p 2183:2181 \
--name=zookeeper_2183 \
zookeeper:3.6.3

此时用docker ps 先检查下容器是否启动成功

04.查看容器的ip(核心)

docker inspect 容器名|grep IPAddress

此处查到的ip能用于容器间互通使用,比如我查到的为:
zookeeper_2181: 172.17.0.3
zookeeper_2182: 172.17.0.5
zookeeper_2183: 172.17.0.6

二.开始配置

01.修改conf/zoo.cfg

进入宿主机上映射的conf目录,修改zoo.cfg文件,在最后加上以下三行配置

server.1=172.17.0.3:2888:3888;2181
server.2=172.17.0.5:2888:3888;2181
server.3=172.17.0.6:2888:3888;2181

在这里插入图片描述

02.修改data/myid

进入宿主机的data1目录,修改myid文件里的内容为1;
进入宿主机的data2目录,修改myid文件里的内容为2;
进入宿主机的data3目录,修改myid文件里的内容为3;

myid里的内容,即为上一步zoo.cfg里所加的server.id值

03.重启容器,检测状态

a.重启3个容器

docker restart 容器名

重启后用docker ps 先检查下容器是否启动成功

b.进入容器内部检查zookeeper状态

docker exec -it 容器名 bash

在这里插入图片描述

三.去代码里试试

在这里插入图片描述
比如,3个zookeeper容器,关掉1台后,因为【正常机器数>=机器总数X50%】,故集群应当保持正常,此时代码应当能够正常调用zookeeper

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值