部署ZooKeeper集群

共需要部署两个ZooKeeper集群,CCM ZooKeeper(Cache Cluster Management ZooKeeper)集群和BCM ZooKeeper(Big Cluster Management ZooKeeper)集群。CCM ZooKeeper存储全局缓存集群信息,BCM ZooKeeper存储加速节点配置信息。

请在所有服务端节点执行以下操作。

部署CCM ZooKeeper集群

  1. 进入zkData目录。

    1
    cd /opt/apache-zookeeper-3.6.3-bin && mkdir zkData
    

  2. 创建并修改myid文件。

    1. 在ceph1节点将“myid”的值设置为“1”
      1
      cd zkData && echo 1 > myid
      
    2. 参照如上命令,在ceph2和ceph3节点则分别设置“myid”的值为“2”“3”

  3. 修改“zoo.cfg”配置。

    1. 进入“conf”目录,打开文件。
      1
      2
      3
      cd /opt/apache-zookeeper-3.6.3-bin/conf
      mv zoo_sample.cfg zoo.cfg
      vim zoo.cfg
      
    2. “i”键进入编辑模式,根据如下内容进行修改。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      tickTime=1000
      initLimit=10
      syncLimit=2
      dataDir=/opt/apache-zookeeper-3.6.3-bin/zkData
      clientPort=2181
      server.1=ceph1:2888:3888;2181
      server.2=ceph2:2888:3888;2181
      server.3=ceph3:2888:3888;2181
      autopurge.purgeInterval=3
      autopurge.snapRetainCount=3
      maxClientCnxns=333
      4lw.commands.whitelist=*
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  4. 修改日志文件配置项,防止日志文件过大。

    1. 打开“log4j.properties”文件。
      1
      vim log4j.properties
      
    2. “i”键进入编辑模式,根据如下内容进行修改。
      1
      2
      zookeeper.log.maxfilesize=20MB #ZooKeeper日志文件最大大小
      zookeeper.log.maxbackupindex=100 #ZooKeeper日志文件最大个数
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
    4. 打开“zkEnv.sh”文件。
      1
      vim /opt/apache-zookeeper-3.6.3-bin/bin/zkEnv.sh
      
    5. “i”键进入编辑模式,根据如下内容进行修改。
      1
      2
      3
      4
      if [ "x${ZOO_LOG4J_PROP}" = "x" ]
      then
          ZOO_LOG4J_PROP="INFO,ROLLINGFILE" #ZooKeeper日志文件输出规则
      fi
      
    6. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  5. 修改“zkServer.sh”文件。

    1. 进入“/opt/apache-zookeeper-3.6.3-bin/bin”目录,打开文件。
      1
      2
      cd /opt/apache-zookeeper-3.6.3-bin/bin
      vim zkServer.sh
      
    2. “i”键进入编辑模式,添加如下内容。
      1
      export LD_LIBRARY_PATH="/opt/gcache/lib"
      

    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  6. 添加JAVA_HOME路径。

    1. 修改打开“zkEnv.sh”文件。
      1
      vim /opt/apache-zookeeper-3.6.3-bin/bin/zkEnv.sh
      
    2. “i”键进入编辑模式,添加如下内容。
      1
      JAVA_HOME="/usr/local/jdk8u282-b08"
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  7. 修改目录属组权限。

    1
    chown globalcacheop:globalcache -R /opt/apache-zookeeper-3.6.3-bin
    

部署BCM ZooKeeper集群

  1. 进入zkData目录。

    1
    cd /opt/apache-zookeeper-3.6.3-bin-bcm && mkdir zkData
    

  2. 创建并修改myid文件。

    1. 在ceph1节点将“myid”的值设置为“1”
      1
      cd zkData && echo 1 > myid
      
    2. 参照如上命令,在ceph2和ceph3节点则分别设置“myid”的值为“2”“3”

  3. 修改“zoo.cfg”配置。

    1. 进入“conf”目录,打开文件。
      1
      2
      3
      cd /opt/apache-zookeeper-3.6.3-bin-bcm/conf
      mv zoo_sample.cfg zoo.cfg
      vim zoo.cfg
      
    2. “i”键进入编辑模式,根据如下内容进行修改。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      tickTime=1000
      initLimit=10
      syncLimit=2
      dataDir=/opt/apache-zookeeper-3.6.3-bin-bcm/zkData
      clientPort=2182
      server.1=ceph1:2889:3889;2182
      server.2=ceph2:2889:3889;2182
      server.3=ceph3:2889:3889;2182
      autopurge.purgeInterval=3
      autopurge.snapRetainCount=3
      maxClientCnxns=333
      4lw.commands.whitelist=*
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  4. 修改日志文件配置项,防止日志文件过大。

    1. 打开“log4j.properties”文件。
      1
      vim log4j.properties
      
    2. “i”键进入编辑模式,根据如下内容进行修改。
      1
      2
      zookeeper.log.maxfilesize=20MB
      zookeeper.log.maxbackupindex=100
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
    4. 打开“zkEnv.sh”文件。
      1
      vim /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkEnv.sh
      
    5. “i”键进入编辑模式,根据如下内容进行修改。
      1
      2
      3
      4
      if [ "x${ZOO_LOG4J_PROP}" = "x" ]
      then
          ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
      fi
      
    6. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  5. 修改“zkServer.sh”文件。

    1. 进入“/opt/apache-zookeeper-3.6.3-bin/bin”目录,打开文件。
      1
      2
      cd /opt/apache-zookeeper-3.6.3-bin-bcm/bin
      vi zkServer.sh
      
    2. “i”键进入编辑模式,添加如下内容。
      1
      export LD_LIBRARY_PATH="/opt/gcache/lib"
      

    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  6. 添加JAVA_HOME路径。

    1. 修改打开“zkEnv.sh”文件。
      1
      vim /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkEnv.sh
      
    2. “i”键进入编辑模式,添加如下内容。
      1
      JAVA_HOME="/usr/local/jdk8u282-b08"
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  7. 修改目录属组权限。

    1
    chown globalcacheop:globalcache -R /opt/apache-zookeeper-3.6.3-bin-bcm
    

配置ZooKeeper开机启动

在部署bcm-zk和ccm-zk的节点上设置ZooKeeper开机自动启动。用户根据当前节点实际部署zookeeper类型进行配置,以下示例节点同时部署了bcm-zk和ccm-zk。

  1. 进入到“/etc/rc.d/init.d”目录下,新建一个ZooKeeper脚本,并添加权限。

    1
    2
    3
    cd /etc/rc.d/init.d/
    touch zookeeper
    chmod 700 zookeeper
    

  2. 编辑ZooKeeper脚本。

    1. 打开脚本。
      1
      vim zookeeper
      
    2. “i”键进入编辑模式,添加如下内容。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      #!/bin/bash  
      #chkconfig:2345 20 90  
      #description:zookeeper  
      #processname:zookeeper  
      export JAVA_HOME=/usr/local/jdk8u282-b08
      case $1 in        
              start) 
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh start
      		;;
              stop) 
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh stop
      		;;
              status) 
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh status
      		;;
              restart) 
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart
      		su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh restart
      		;;
              *) echo "require start|stop|status|restart" ;;
      
      esac
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  3. 添加到开机启动。

    1
    chkconfig --add zookeeper
    

  4. 检查是否添加成功。

    1
    chkconfig --list
    

    回显打印下图红框中内容,即为添加成功。