Zookeeper 安装与配置

1. 安装 Zookeeper

解压与移动

  1. 解压 Zookeeper 软件包

    1
    tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
  2. 移动 Zookeeper 目录

    1
    mv /opt/module/apache-zookeeper-3.5.7-bin /opt/module/zookeeper

2. 配置环境变量

  1. 编辑 /etc/profile 文件,添加 Zookeeper 环境变量:

    1
    2
    export ZOOKEEPER_HOME=/opt/module/zookeeper
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
  2. 重新加载配置

    1
    source /etc/profile

3. 配置 Zookeeper

  1. 复制配置文件

    1
    2
    cd /opt/module/zookeeper/conf/
    cp zoo_sample.cfg zoo.cfg
  2. 编辑 zoo.cfg 文件

    1
    vim zoo.cfg

    配置内容如下:

    1
    2
    3
    4
    5
    dataDir=/opt/module/zookeeper/tmp
    dataLogDir=/opt/module/zookeeper/log
    server.1=master:2888:3888
    server.2=slave1:2888:3888
    server.3=slave2:2888:3888
  3. 在 Master 节点上进行以下操作

    1
    2
    3
    4
    5
    6
    cd /opt/module/zookeeper
    mkdir tmp
    cd tmp
    touch myid
    echo 1 > myid
    cat myid
  4. 将 Zookeeper 目录和环境配置文件复制到从节点

    1
    2
    3
    4
    scp -r /opt/module/zookeeper slave1:/opt/module
    scp -r /opt/module/zookeeper slave2:/opt/module
    scp /etc/profile slave1:/etc/profile
    scp /etc/profile slave2:/etc/profile

4. 启动 Zookeeper

  1. 在 Master 节点上启动 Zookeeper

    1
    2
    cd /opt/module/zookeeper
    zkServer.sh start
  2. 在 Slave1 和 Slave2 节点上进行以下操作

    1
    2
    3
    4
    5
    6
    cd /opt/module/zookeeper
    mkdir tmp
    cd tmp
    touch myid
    echo 2 > myid # 对于 Slave1,使用 2;对于 Slave2,使用 3
    cat myid

    启动 Zookeeper:

    1
    zkServer.sh start

5. 检查 Zookeeper 状态

  1. 检查 Zookeeper 状态

    1
    zkServer.sh status
  2. 如果状态显示不正确

    • 检查端口占用:

      1
      netstat -lnp | grep 8080
    • 删除 java 前面数字的序号(表示占用端口的进程):

      1
      kill -9 <pid>   # 其中 <pid> 是您在 netstat 输出中找到的进程 ID
    • 重新启动 Zookeeper:

      1
      zkServer.sh start
    • 再次检查状态:

      1
      zkServer.sh status

6. 防火墙配置

确保在所有节点上关闭防火墙,以避免网络通信问题:

1
2
sudo systemctl stop firewalld
sudo systemctl disable firewalld