1. 资源规划

组件 bigdata-hk-node1 bigdata-hk-node2 bigdata-hk-node3
OS centos7.6 centos7.6 centos7.6
JDK jvm jvm jvm
Zookeeper QuorumPeerMain QuorumPeerMain QuorumPeerMain

2. 安装介质

版本:apache-zookeeper-3.6.3-bin.tar.gz
下载:http://archive.apache.org/dist/zookeeper

3. 环境准备

  • 安装JDK

参考:《CentOS7.6-安装JDK-1.8.221

4. 安装ZooKeeper

4.1. 解压缩

  1. # 先在节点bigdata-hk-node1上安装,之后分发到bigdata-hk-node2、bigdata-hk-node3
  2. cd /share
  3. tar -xvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module/
  4. mv /opt/module/apache-zookeeper-3.6.3-bin /opt/module/zookeeper-3.6.3

4.2. 配置

  1. 创建data目录、log目录及myid文件。

    1. mkdir -p /opt/module/zookeeper-3.6.3/data
    2. mkdir -p /opt/module/zookeeper-3.6.3/log
    3. cd /opt/module/zookeeper-3.6.3/data
    4. touch myid

    myid文件分别写入{1,2,3},具体那台机器写入什么值根据zoo.cfg中的配置设置,如server.1=xxxx,则myid写入1即可。

  2. 修改zoo.cfg。

    1. cd /opt/module/zookeeper-3.6.3/conf
    2. cp zoo_sample.cfg zoo.cfg
    3. vi zoo.cfg

    内容如下:

    1. # 心跳时间
    2. tickTime=2000
    3. # follow连接leader的初始化连接时间,表示tickTime的倍数
    4. initLimit=10
    5. # syncLimit配置表示leader与follower之间发送消息,请求和应答时间长度。如果followe在设置的时间内不能与leader进行通信,那么此follower将被丢弃,tickTime的倍数
    6. syncLimit=5
    7. # 客户端连接端口
    8. clientPort=2181
    9. # 节点数据存储目录,需要提前创建,注意myid添加,用于标识服务器节点
    10. dataDir=/opt/module/zookeeper-3.6.3/data
    11. dataLogDir=/opt/module/zookeeper-3.6.3/log
    12. server.1=192.168.56.101:2888:3888
    13. server.2=192.168.56.102:2888:3888
    14. server.3=192.168.56.103:2888:3888
  3. 配置zkEnv.sh。

    1. vi /opt/module/zookeeper-3.6.3/bin/zkEnv.sh

    内容如下:

    1. export JAVA_HOME=/opt/module/jdk1.8.0_221

    5. 分发

    1. scp -r /opt/module/zookeeper-3.6.3 vagrant@bigdata-hk-node2:/opt/module/
    2. scp -r /opt/module/zookeeper-3.6.3 vagrant@bigdata-hk-node3:/opt/module/

    分发后注意编辑myid:

    1. vi /opt/module/zookeeper-3.6.3/data/myid
  • bigdata-hk-node1节点

    1. 1
  • bigdata-hk-node2节点

    1. 2
  • bigdata-hk-node3节点

    1. 3

    6. 验证

    ```bash cd /opt/module/zookeeper-3.6.3/bin

    {start|start-foreground|stop|restart|status|upgrade|print-cmd}

    sh zkServer.sh start sh zkServer.sh status sh zkServer.sh stop

查看启动进程main方法相关的进程

jps -m ps -ef |grep zookeeper

客户端工具

./zkCli.sh -server localhost:2181 ```