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

linux安装zookeeper如何启动

ZooKeeper zkServer bin 启动 457    来源:    2025-05-14

Linux 下 ZooKeeper 的安装与启动指南

安装 ZooKeeper

  1. 下载 ZooKeeper

    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
    
  2. 解压安装包

    tar -xzf apache-zookeeper-3.6.3-bin.tar.gz
    mv apache-zookeeper-3.6.3-bin /opt/zookeeper
    
  3. 创建配置文件

    cd /opt/zookeeper/conf
    cp zoo_sample.cfg zoo.cfg
    
  4. 配置 zoo.cfg (根据需要修改)

    dataDir=/var/lib/zookeeper
    clientPort=2181
    

启动 ZooKeeper

方法1:前台启动(调试用)

cd /opt/zookeeper
bin/zkServer.sh start-foreground

方法2:后台启动(生产环境)

cd /opt/zookeeper
bin/zkServer.sh start

方法3:使用 systemd 服务(推荐用于生产环境)

  1. 创建 systemd 服务文件 /etc/systemd/system/zookeeper.service:

    [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
    WorkingDirectory=/opt/zookeeper
    
    [Install]
    WantedBy=multi-user.target
    
  2. 启用并启动服务:

    systemctl daemon-reload
    systemctl enable zookeeper
    systemctl start zookeeper
    

验证 ZooKeeper 是否运行

  1. 检查状态:

    bin/zkServer.sh status
    
  2. 使用客户端连接测试:

    bin/zkCli.sh -server 127.0.0.1:2181
    

常见问题解决

  1. 无法启动:

    • 检查日志文件 /opt/zookeeper/logs/zookeeper.out
    • 确保 dataDir 目录存在且有写权限
  2. 端口冲突:

    • 检查 2181 端口是否被占用: netstat -tulnp | grep 2181
    • 如果需要可以修改 zoo.cfg 中的 clientPort
  3. Java 环境问题:

    • 确保已安装 Java: java -version
    • 如需指定 Java 路径,修改 bin/zkEnv.sh 中的 JAVA_HOME