ZooKeeper 3.9.4 详细安装配置教程(Linux+Windows)

ZooKeeper 3.9.4 是 Apache 官方推出的稳定版本,相比 3.4.14 优化了安全性、稳定性及兼容性,适用于微服务注册发现、分布式锁、配置中心等场景。本文详细讲解 Linux 和 Windows 系统下的完整安装、配置及验证流程,新手可快速上手。

一、前期准备

1. 环境要求

  • 依赖 Java 环境,必须安装 JDK 1.8 及以上版本(3.9.x 系列增强了对 Java 高版本的兼容,支持 JDK 11/17)。
  • 检查 Java 环境:终端 / 命令提示符执行 java -version,输出版本信息即表示环境正常。

2. 下载地址

优先选择国内镜像加速下载,避免官网下载缓慢:

二、Linux 系统安装配置

1. 下载与解压

使用 wget 命令下载,解压到 /usr/local 目录(推荐安装路径):运行

# 下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.9.4/apache-zookeeper-3.9.4-bin.tar.gz
# 解压到指定目录
tar -zxvf apache-zookeeper-3.9.4-bin.tar.gz -C /usr/local/
# 进入安装目录(简化目录名,方便操作)
cd /usr/local/
mv apache-zookeeper-3.9.4-bin zookeeper-3.9.4
cd zookeeper-3.9.4/

2. 配置文件修改

  • 进入配置目录,复制默认配置文件并改名(ZooKeeper 默认读取 zoo.cfg 配置):
    cd conf/
    cp zoo_sample.cfg zoo.cfg
    
  • 核心配置说明(单机模式无需额外修改,生产环境建议调整以下参数):
    • tickTime=2000:基础时间单位(毫秒),用于集群同步和心跳检测。
    • clientPort=2181:客户端连接端口,默认 2181,若被占用可修改(如 2182)。
    • dataDir=/tmp/zookeeper:数据存储目录,默认是临时目录,生产环境需修改为自定义目录(如 /usr/local/zookeeper-3.9.4/data)。
    • dataLogDir=/usr/local/zookeeper-3.9.4/log:日志存储目录(3.9.x 新增推荐配置,需手动创建目录并添加到配置中)。
    • maxClientCnxns=60:最大客户端连接数,默认 60,可根据需求调整。

3. 启动与验证

  • 启动服务端:
    cd ../bin/
    sh zkServer.sh start
    
    输出 “STARTED” 表示启动成功,若失败可查看日志排查(日志路径:dataLogDir 或 logs 目录)。
  • 查看服务状态:
    sh zkServer.sh status
    
    单机模式下显示 “Mode: standalone”,集群模式会显示 “leader” 或 “follower”。
  • 启动客户端(连接本地 ZooKeeper 服务):
    sh zkCli.sh
    
    进入 [zk: localhost:2181(CONNECTED)] 交互界面,即表示客户端连接成功。
  • 停止服务(如需):
    sh zkServer.sh stop
    

三、Windows 系统安装配置

1. 下载与解压

  • 访问镜像地址下载 apache-zookeeper-3.9.4-bin.tar.gz 压缩包。
  • 使用 WinRAR 或 7-Zip 解压到自定义目录(示例:D:\Program Files\zookeeper-3.9.4,路径避免含中文和空格)。

2. 目录与配置修改

  • 新建目录:在安装根目录下创建两个空文件夹,分别命名为 data(数据存储)和 log(日志存储)。
  • 修改配置文件:
    1. 进入 conf 目录,复制 zoo_sample.cfg 并重命名为 zoo.cfg
    2. 用记事本或 VS Code 打开 zoo.cfg,修改以下核心配置:

      plaintext

      # 数据存储目录(替换为你的 data 文件夹路径)
      dataDir=D:\Program Files\zookeeper-3.9.4\data
      # 日志存储目录(新增配置,替换为你的 log 文件夹路径)
      dataLogDir=D:\Program Files\zookeeper-3.9.4\log
      # 客户端连接端口(默认 2181,可修改)
      clientPort=2181
      

3. 启动与验证

  • 启动服务端:
    1. 进入 bin 目录,双击 zkServer.cmd 脚本(Windows 专用启动脚本)。
    2. 控制台显示 “binding to port 0.0.0.0/0.0.0.0:2181” 且无报错,说明服务启动成功(请勿关闭控制台窗口)。
  • 启动客户端:
    1. 重新打开一个命令提示符窗口,进入 bin 目录。
    2. 执行 zkCli.cmd 命令,或直接双击 zkCli.cmd 脚本。
    3. 输出 “Welcome to ZooKeeper!” 并进入 [zk: localhost:2181(CONNECTED)] 交互界面,即表示连接成功。

四、常用客户端命令(Linux/Windows 通用)

启动客户端后,可执行以下核心命令操作 ZooKeeper 节点:

  • ls path:查看指定路径下的节点(示例:ls / 查看根节点)。
  • create path data:创建持久节点(示例:create /test "zk-3.9.4" 创建 /test 节点,数据为 “zk-3.9.4”)。
  • create -e path data:创建临时节点(客户端断开连接后自动删除)。
  • create -s path data:创建有序节点(节点名称后自动添加递增序号)。
  • get path:获取节点数据(示例:get /test 查看 /test 节点的内容)。
  • set path newData:修改节点数据(示例:set /test "new-zk-data" 更新 /test 节点数据)。
  • delete path:删除空节点(示例:delete /test 删除 /test 节点,若节点有子节点需先删除子节点)。
  • deleteall path:删除节点及所有子节点(示例:deleteall /parent 删除 /parent 节点及其子节点)。
  • quit:退出客户端。

五、关键注意事项

  1. 安装包选择:必须下载带 “bin” 后缀的安装包(如 apache-zookeeper-3.9.4-bin.tar.gz),不带 “bin” 的是源码包,需手动编译才能使用。
  2. 端口占用:默认 2181 端口,若启动失败提示 “Address already in use”,需修改 zoo.cfg 中的 clientPort 配置(如改为 2182),并确保防火墙开放对应端口。
  3. 数据安全:生产环境必须修改 dataDir 为非临时目录,避免系统重启或清理导致数据丢失;同时配置 dataLogDir 分离数据和日志,提升性能。
  4. 集群搭建:如需搭建集群,在 zoo.cfg 中添加集群节点配置(格式:server.1=节点1IP:2888:3888server.2=节点2IP:2888:3888),并在每个节点的 data 目录下创建 myid 文件,写入对应的节点编号(1、2、3 等)。
  5. 版本兼容:3.9.4 兼容大部分基于 3.4.x/3.5.x 开发的应用,但部分过时 API 已被移除,迁移时需检查应用代码。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐