温馨提示×

如何在centos上部署zookeeper

小樊
44
2025-09-06 02:46:04
栏目: 智能运维

在CentOS上部署ZooKeeper的步骤如下:

1. 准备工作

  • 确保系统更新

    sudo yum update -y 
  • 安装Java环境(ZooKeeper需要Java运行时环境):

    sudo yum install java-1.8.0-openjdk-devel -y 
  • 验证Java安装

    java -version 

2. 下载并解压ZooKeeper

  • 下载ZooKeeper: 访问ZooKeeper官方网站下载最新版本的ZooKeeper压缩包。例如,下载3.7.0版本:

    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz 
  • 解压压缩包

    tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt 
  • 重命名目录(可选):

    sudo mv /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper 

3. 配置ZooKeeper

  • 进入配置目录

    cd /opt/zookeeper/conf 
  • 复制示例配置文件

    cp zoo_sample.cfg zoo.cfg 
  • 编辑配置文件: 使用文本编辑器(如vinano)打开zoo.cfg文件:

    sudo vi zoo.cfg 

    修改以下配置项:

    • dataDir:指定数据存储目录,例如/var/lib/zookeeper
    • clientPort:指定客户端连接端口,默认是2181。
    • server:配置集群中的服务器节点,例如:
      server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 
      其中zoo1, zoo2, zoo3是服务器的主机名或IP地址。

4. 创建数据目录并设置权限

  • 创建数据目录

    sudo mkdir -p /var/lib/zookeeper 
  • 设置权限

    sudo chown -R $(whoami):$(whoami) /var/lib/zookeeper sudo chmod -R 755 /var/lib/zookeeper 

5. 启动ZooKeeper

  • 进入ZooKeeper目录

    cd /opt/zookeeper/bin 
  • 启动ZooKeeper

    ./zkServer.sh start 

6. 验证ZooKeeper状态

  • 检查ZooKeeper状态

    ./zkServer.sh status 

    如果一切正常,你应该会看到类似以下的输出:

    ZooKeeper JMX enabled by default Using config: /opt/zookeeper/conf/zoo.cfg Mode: Leader 

7. 设置开机自启动(可选)

  • 创建systemd服务文件

    sudo vi /etc/systemd/system/zookeeper.service 

    添加以下内容:

    [Unit] Description=Apache ZooKeeper Server After=network.target [Service] Type=forking User=$(whoami) Group=$(whoami) ExecStart=/opt/zookeeper/bin/zkServer.sh start ExecStop=/opt/zookeeper/bin/zkServer.sh stop Restart=on-abort [Install] WantedBy=multi-user.target 
  • 启用并启动服务

    sudo systemctl enable zookeeper sudo systemctl start zookeeper 
  • 检查服务状态

    sudo systemctl status zookeeper 

通过以上步骤,你应该能够在CentOS上成功部署ZooKeeper。如果有任何问题,请检查日志文件/var/log/zookeeper/zookeeper.out以获取更多信息。

0