Zookeeper 2025 最新稳定版安装

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即可连接