Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战
1|0Zookeeper完全分布式集群服务
准备好3台服务器:
- [x]A-> centos-helios:192.168.19.1
- [x]B-> centos-hestia:192.168.19.2
- [x]C-> centos-hebe:192.168.19.3
⚠️ [注意事项]:
1.一定要确定3台服务器之间可以相互通信
2.如果是采用的阿里云等服务器的话,一定要配置主机名与IP映射,否则会连接拒绝等问题
2|0配置Zookeeper安装目录
-
在3台宿主机配置zookeeper安装目录:/docker/zookeeper
-
并且在文件夹创建 data 和logs 目录:mkdir -p /docker/zookeeper/data && mkdir -p /docker/zookeeper/logs
- 授权文件目录:chmod -R 777 /docker/zookeeper/
3|0安装和部署Zookeeper
拉取zookeeper镜像:docker pull zookeeper:3.5.6
⚠️ [注意事项]:
1.由于Zookeeper是一个常规的基础服务组件,我这直接拉取Docker hub镜像,有兴趣的可以自行构建镜像部署
2.这里只对centos-helios有举例,另外2台需要执行相同操作,以下不再赘述
临时安装Zookeeper服务:zookeeper-tmp-server
复制zookeeper-tmp-server的conf到/docker/zookeeper:
1.查看容器列表:docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
2.执行Docker cp 命令:docker cp Zookeeper容器ID:/conf /docker/zookeeper/
centos-helios:docker cp 71ad055739b6:/conf /docker/zookeeper/
centos-hebe:docker cp bf9df9966efb:/conf /docker/zookeeper/
centos-hestia:docker cp 4b4f8e813c80:/conf /docker/zookeeper/
编写zookeeper的zoo.cfg配置文件:
1.服务器集群配置:
- [x]centos-helios:192.168.19.1:2888:3888
- [x]centos-hestia:192.168.19.2:2888:3888
- [x]centos-hebe:192.168.19.3:2888:3888
2.对应的配置文件配置如下:
- [x]centos-helios:/docker/zookeeper/conf/zoo.cfg
- [x]centos-hestia:/docker/zookeeper/conf/zoo.cfg
- [x]centos-hebe:/docker/zookeeper/conf/zoo.cfg
⚠️ [注意事项]:如果是采用阿里云等云服务器部署,一般设置为:
编写正式安装Dcoekr命令:
- [x]centos-helios:
- [x]centos-hestia:
- [x]centos-hebe:
4|0后续服务配置
1.开放端口[2181 2888 3888]
- [1].启动防火墙:systemctl start firewalld.service
- [2].查看防火墙状态:systemctl status firewalld.service
- [3].开放端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent
- [4].加载初始化防火墙生效:firewall-cmd --reload
- [5].停用防火墙:systemctl stop firewalld.service
⚠️ [注意事项]:
1.如果是Centos7以及以上系统,防火墙默认是firewall,对于Centos7版本请自行进行配置
2.依据实测,对于2888和3888等端口必须开放,否则在使用Zookeeper服务的时候会报连接[KeeperErrorCode = ConnectionLoss]错误
2.配置启动以及测试zookeeper服务:
- [x]启动容器Zookeeper服务顺序:A->B->C-重启A
- [x]进入容器输入:bin/zkServer.sh status
centos-helios:
centos-hestia:
centos-hebe:
⚠️ [注意事项]:
1.Zookeeper的集群服务采用的是Leader-Follower线程模型,如上所述。
2.Zookeeper使用了ZAB(Zookeeper Atomic Broadcast)协议,保证了leader,follower的一致性,leader 负责数据的读写,而follower只负责数据的读,如果follower遇到写操作,会提交到leader。
版权声明:本文为博主原创文章,遵循相关版权协议,如若转载或者分享请附上原文出处链接和链接来源。
__EOF__

本文链接:https://www.cnblogs.com/mazhilin/p/12156988.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:Copyright © 2018-2021 PivotalCloud Technology Systems Incorporated. All rights reserved.
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏