Zookeeper 2025 最新稳定版单机版安装
下文将简要介绍zookeeper 3.8.4 基于CentOs 7的安装方式包括下载安装包安装和docker安装两种安装方式。
ZooKeeper 是什么?
ZooKeeper是一种开源的分布式协调服务,专为分布式系统提供一致性保障,核心功能包括配置管理、命名服务、分布式同步和集群管理:
- 配置维护:统一管理分布式系统的配置信息。集中管理分布式系统的配置参数,动态更新并通知所有服务节点
- 命名服务:提供全局唯一的资源标识。通过路径标识服(如/services/serviceA),实现服务动态注册与发现
- 分布式同步:协调跨节点的数据一致性 。基于临时节点和监听机制,实现跨进程的互斥锁或读写锁
- 组服务:管理集群成员状态与协作机制。Leader:处理所有写请求及事务操作;Follower:处理读请求,参与Leader选举和写操作投票;Observer:仅处理读请求,不参与投票(用于扩展读性能)
本地安装zookeeper
1.下载zookeeper安装包,打开https://zookeeper.apache.org/,选择Apache ZooKeeper 3.8.4(asc, sha512),点击链接跳转到下载页面选择第一个下载,注意这里下载的是liunx版的,没有windows版本。等待下载完成
2.上传到liunx服务器
进入/opt创建一个zookeeper目录
cd /opt
mkdir zookeeper

此处使用FinalShell连接工具,直接图形化上传
3.解压
使用tar -zxcf xxx解压即可,无需安装
tar -zxcf apache-zookeeper-3.8.4-bin.tar.gz
4.目录解析
进入apache-zookeeper-3.8.4-bin,出现上面的结构:
bin 存放可执行文件如启动、停止、查看状态等脚本
conf 配置文件
docs 里面放了很多html,可以理解为用户手册,如ZookepperAdmin.html和ZookeeperTools等
lib 存放了zookeeper依赖的jar包,如commons-io、jetty、netty、jackson、logback和zookeeper一些核心包等。
logs 故名思意是zookeeper的日志文件
5.创建zookeeper data目录
在/opt/zookeeper创建一个zkdata目录
mkdir zkdata
6.复制配置文件修改配置
进入cd /opt/zookeeper/apache-zookeeper-3.8.4-bin/conf,此处有3个文件。我们需要copy zoo_sample.cfg并重命名为zoo.cfg,zookeeper启动时会使用zoo.cfg启动
[root@localhost apache-zookeeper-3.8.4-bin]# cd /opt/zookeeper/apache-zookeeper-3.8.4-bin/conf
[root@localhost conf]# ll
-rw-r--r--. 1 admin admin 535 2月 12 2024 configuration.xsl
-rw-r--r--. 1 admin admin 4559 2月 12 2024 logback.xml
-rw-r--r--. 1 admin admin 1183 2月 12 2024 zoo_sample.cfg
[root@localhost conf]cp apache-zookeeper-3.8.4-bin/conf/zoo_sample.cfg zoo.cfg
[root@localhost conf]# ll
总用量 20
-rw-r--r--. 1 admin admin 535 2月 12 2024 configuration.xsl
-rw-r--r--. 1 admin admin 4559 2月 12 2024 logback.xml
-rw-r--r--. 1 root root 1213 7月 9 01:59 zoo.cfg
-rw-r--r--. 1 admin admin 1183 2月 12 2024 zoo_sample.cfg
vim zoo.cfg
修改配置文件如下图:
dataDir 修改为刚才新建的目录
listener 表示允许所有ip连接
修改完成后保存
7.启动zookeeper
进入bin目录,使用zkServer.sh start启动
[root@localhost apache-zookeeper-3.8.4-bin]# cd bin/
[root@localhost bin]# ll
总用量 72
-rwxr-xr-x. 1 admin admin 232 2月 12 2024 README.txt
-rwxr-xr-x. 1 admin admin 1978 2月 12 2024 zkCleanup.sh
-rwxr-xr-x. 1 admin admin 1115 2月 12 2024 zkCli.cmd
-rwxr-xr-x. 1 admin admin 1576 2月 12 2024 zkCli.sh
-rwxr-xr-x. 1 admin admin 1810 2月 12 2024 zkEnv.cmd
-rwxr-xr-x. 1 admin admin 3613 2月 12 2024 zkEnv.sh
-rwxr-xr-x. 1 admin admin 1243 2月 12 2024 zkServer.cmd
-rwxr-xr-x. 1 admin admin 4559 2月 12 2024 zkServer-initialize.sh
-rwxr-xr-x. 1 admin admin 11616 2月 12 2024 zkServer.sh
-rwxr-xr-x. 1 admin admin 987 2月 12 2024 zkSnapshotComparer.cmd
-rwxr-xr-x. 1 admin admin 1374 2月 12 2024 zkSnapshotComparer.sh
-rwxr-xr-x. 1 admin admin 988 2月 12 2024 zkSnapShotToolkit.cmd
-rwxr-xr-x. 1 admin admin 1377 2月 12 2024 zkSnapShotToolkit.sh
-rwxr-xr-x. 1 admin admin 996 2月 12 2024 zkTxnLogToolkit.cmd
-rwxr-xr-x. 1 admin admin 1385 2月 12 2024 zkTxnLogToolkit.sh
./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/apache-zookeeper-3.8.4-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
上面就是启动成功的提示了,可以使用zkServer.sh status查看启动状态,如下:
[root@localhost bin]# ./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/apache-zookeeper-3.8.4-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
此处的Mode:standalone表示单机启动的,未集群。除了staus,其他命令如restart、stop也是可以使用,和其他的应用一样。
docker 安装zookeeper
1.拉取docker镜像
docker pull zookeeper:3.8
2.启动单节点容器
docker run -d \
--name zk-standalone \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
--restart always \
zookeeper:3.8
端口说明:
2181:客户端连接端口
2888:节点间数据同步端口
3888:选举通信端口36
3.启动完成后可以使用docker ps 查看启动的容器,使用宿主机:2181即可连接