概述
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等,是很多分布式的基础设置,比如dubbo,kafka,hbase等。zookeeper 可以单机部署,单独使用,一般需要做集群部署。你运行一个zookeeper也是可以的,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高,当然只能部署奇数个,偶数个是不可以的。
部署
由于是实验性质,我们部署的时候在一台机器上部署多个实例。
1.首先需要下载zookeeper.
2.解压
tar -zxvf zookeeper-3.4.13.tar.gz
3.进入到 conf目录
创建3份配置文件
zk1.cfg zk2.cfg zk3.cfg
3.在根目录下创建 data 目录
mkdir data
cd data
mkdir zk1
mkdir zk2
mkdir zk3
在data 创建3个目录
4.在根目录下创建log目录
创建3个目录
mkdir log
cd log
mkdir zk1
mkdir zk2
mkdir zk3
5.分别编辑 zk1.cfg zk2.cfg zk3.cfg
zk1.cfg
dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk1
clientPort=2181
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk1
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892
zk2.cfg
dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk2
clientPort=2182
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk2
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892
zk3.cfg
dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk3
clientPort=2183
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk3
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892
6.在data目录创建myid文件
区分到底是第几个实例,就要有个id文件,且名字必须是myid
执行命令
echo "1" > /home/zookpeer/zookeeper-3.4.13/data/zk1/myid
echo "2" > /home/zookpeer/zookeeper-3.4.13/data/zk2/myid
echo "3" > /home/zookpeer/zookeeper-3.4.13/data/zk3/myid
7.分别启动zookeeper
./bin/zkServer.sh start conf/zk1.cfg
./bin/zkServer.sh start conf/zk2.cfg
./bin/zkServer.sh start conf/zk3.cfg
8.查看zookpeer 状态
可以看到zk2 是实例,zk1,zk3 是从实例
这样就安装好了zookeeper 的集群,如果是多机器部署
可以改成:
dataDir=/home/zookpeer/zookeeper-3.4.13/data/
clientPort=2181
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/
server.1=localhost:2890:3890
server.2=localhost:2890:3890
server.3=localhost:2890:3890
部署更简单。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人