插件窝 干货文章 linux如何安装zookeeper

linux如何安装zookeeper

ZooKeeper sudo bash 安装 391    来源:    2025-05-14

Linux 下安装 ZooKeeper 指南

准备工作

  1. 确保系统已安装 Java(ZooKeeper 需要 Java 运行环境)

    java -version
    

    如果未安装,可以使用以下命令安装 OpenJDK:

    sudo apt update && sudo apt install openjdk-11-jdk  # Ubuntu/Debian
    sudo yum install java-11-openjdk-devel             # CentOS/RHEL
    
  2. 创建专用用户(可选但推荐)

    sudo useradd -m zookeeper
    sudo passwd zookeeper
    

安装 ZooKeeper

方法一:使用包管理器(适用于 Ubuntu/Debian)

sudo apt update
sudo apt install zookeeper zookeeperd

方法二:手动安装(推荐生产环境)

  1. 下载 ZooKeeper

    wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
    

    注意:请替换为官网最新稳定版本

  2. 解压并移动

    tar -xzf apache-zookeeper-3.7.1-bin.tar.gz
    sudo mv apache-zookeeper-3.7.1-bin /opt/zookeeper
    sudo chown -R zookeeper:zookeeper /opt/zookeeper
    
  3. 创建数据目录

    sudo mkdir -p /var/lib/zookeeper
    sudo chown zookeeper:zookeeper /var/lib/zookeeper
    

配置 ZooKeeper

  1. 复制示例配置文件

    cd /opt/zookeeper/conf
    cp zoo_sample.cfg zoo.cfg
    
  2. 编辑配置文件

    nano zoo.cfg
    

    修改以下关键配置:

    dataDir=/var/lib/zookeeper
    # 单机模式可保持默认,集群模式需添加类似配置:
    # server.1=node1:2888:3888
    # server.2=node2:2888:3888
    # server.3=node3:2888:3888
    

启动 ZooKeeper

使用包管理器安装的启动方式

sudo service zookeeper start

手动安装的启动方式

sudo -u zookeeper /opt/zookeeper/bin/zkServer.sh start

验证安装

  1. 检查状态

    /opt/zookeeper/bin/zkServer.sh status
    
  2. 连接客户端

    /opt/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
    

设置系统服务(手动安装时)

  1. 创建 systemd 服务文件

    sudo nano /etc/systemd/system/zookeeper.service
    
  2. 添加以下内容:

    [Unit]
    Description=ZooKeeper Service
    After=network.target
    
    [Service]
    Type=forking
    User=zookeeper
    Group=zookeeper
    ExecStart=/opt/zookeeper/bin/zkServer.sh start
    ExecStop=/opt/zookeeper/bin/zkServer.sh stop
    ExecReload=/opt/zookeeper/bin/zkServer.sh restart
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务

    sudo systemctl daemon-reload
    sudo systemctl enable zookeeper
    sudo systemctl start zookeeper
    

集群模式配置(可选)

如需配置集群,需要在每台服务器上:

  1. 在 dataDir 目录创建 myid 文件

    echo "1" > /var/lib/zookeeper/myid  # 第一台服务器写1,第二台写2,以此类推
    
  2. 在所有服务器的 zoo.cfg 中添加服务器列表

    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888
    
  3. 重启所有 ZooKeeper 服务

防火墙配置

如果启用防火墙,需要开放端口:

sudo ufw allow 2181/tcp  # 客户端连接端口
sudo ufw allow 2888/tcp  # 节点间通信端口
sudo ufw allow 3888/tcp  # 选举端口