[Demo示例]Docker搭建zookeeper集群

需要
linux主机,安装docker,下载zookeeper镜像

zookeeper集群需知
zookeeper集群至少需要3个节点,每个节点保存全量数据,即内容完全相同。其中一个崩溃后,只要节点数大于3个则可以继续使用。

zookeeper集群只需要修改两个地方,然后各自启动即可:
1、每个节点的配置文件zoo.cfg,列出每个节点地址server.X=...,其中288*端口号随意什么都行
2、容器中的/data/myid中存放X,即节点自身标识

步骤一:创建zoo.cfg和myid
zoo.tmpl模板,用于脚本创建多组配置文件:

clientPort=210${N}
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
server.4=127.0.0.1:2884:3884
server.5=127.0.0.1:2885:3885

脚本生成5份zoo.cfg和myid分别放在1~5号目录下

for port in seq 1 5; do \
	mkdir -p ./${port} \
	&& N=${port} envsubst < ./zoo.tmpl > ./${port}/zoo.cfg \
	&& echo ${port} > ./${port}/myid;
done;

步骤二:挂载zoo.cfg、myid,运行5个容器

for p in seq 1 5; do \
docker run -d --net host --name zk_${p} \
--privileged=true -v /home/zk/${p}/myid:/data/myid \
--privileged=true -v /home/zk/${p}/zoo.cfg:/conf/zoo.cfg zookeeper ;\
done;

注:我这里以host网络启动容器,方便访问。

测试
这样我们就可以访问zookeeper集群了:

zkCli.sh -server 127.0.0.1:2101,127.0.0.1:2102,127.0.0.1:2103,127.0.0.1:2104,127.0.0.1:2105

利用docker关闭、开启部分节点,就可以测试集群特性了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值