docker搭建zookeeper集群

本文介绍了一种简易的Docker环境下搭建ZooKeeper集群的方法。通过创建指定网络并固定IP地址,确保集群内各节点能够正确通信。具体步骤包括下载官方镜像、创建网络及启动集群。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker如何搭建zookeeper集群,对于入门的新手来说,往往是想通过一种最简单的方式完成,所以这里介绍的就不用dockerfile,不用docker-compose,只需在docker hub中下载官方镜像,然后运行三个指令就行了,实现方式如下:


1.下载官方镜像:

$:docker pull docker.io/zookeeper:latest

2.创建指定网络

$:docker network create --subnet=172.18.0.0/16 zknet

这里说下为什么创建指定网络,首先zookeeper集群意思就是在很多台机器上部署zookeeper,然后我们的web应用就可以往zookeeper上注册服务,等待消费者来消费,那其实很多台机器部署zookeeper后只有一个leader,其他都是分支,这些机器是"贯通"的,那怎么"贯通",就是通过IP来"贯通",zookeeper的配置文件里面写明了这些需要相互"贯通"的IP(第3部).所以IP是不是要固定,我们通过一个镜像进入一个容器,IP都是随机分配的,一般是172.17.0.X,如果是随机分配那我们的配置文件怎么事先写入这些"贯通"的IP呢?这样子是不是可以理解?

   3.启动zookeeper集群

$:docker run -tid --name qd-zookeeper1 --restart=always --net zknet --ip 172.18.0.2 -d -p 2191:2181  --env ZOO_MY_ID=1 --env "ZOO_SERVERS=server.1=172.18.0.2:2888:3888 server.2=172.18.0.3:2888:3888 server.3=172.18.0.4:2888:3888"  docker.io/zookeeper:latest


$:docker run -tid --name qd-zookeeper2 --restart=always --net zknet --ip 172.18.0.3 -d -p 2192:2181  --env ZOO_MY_ID=2 --env "ZOO_SERVERS=server.1=172.18.0.2:2888:3888 server.2=172.18.0.3:2888:3888 server.3=172.18.0.4:2888:3888"  docker.io/zookeeper:latest 


$:docker run -tid --name qd-zookeeper3 --restart=always --net zknet --ip 172.18.0.4 -d -p 2193:2181  --env ZOO_MY_ID=3 --env "ZOO_SERVERS=server.1=172.18.0.2:2888:3888 server.2=172.18.0.3:2888:3888 server.3=172.18.0.4:2888:3888"  docker.io/zookeeper:latest 


上面三条指令全部执行完,zookeeper集群就搭建完毕,是否成功验证方式,可以进入zookeeper容器里面后 bin/zkServer.sh status 来查看,如果是flower或者leader基本上说明成功了.

注意:上面"全部"两个字标红了,因为我在操作的过程中,如果只启动其中一个就进到容器里面查看状态,发现是失败的,但是等3个全部启动完,发现就成功了.

这是最基本最简单的集群搭建,至于后面你需要用其他高大上的方式搭建再慢慢研究吧.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值