04.Zookeeper集群搭建

1,035 阅读1分钟

前提:在搭建Zookeeper集群前,确保Hadoop集群已搭建完毕!可参考白熊的03.Hadoop集群搭建

一、Zookeeper集群搭建

  • MyNode01机器(icebear用户)
    • 下载安装包
    • 上传并解压zookeeper安装包
      • cd /home/bgd/soft
      • tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /home/bgd/install/
    • 修改配置文件
      • cd /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/conf
      • cp zoo_sample.cfg zoo.cfg
      • mkdir -p /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
      • vim zoo.cfg
        # 添加如下配置
        dataDir=/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
        autopurge.snapRetainCount=3
        autopurge.purgeInterval=1
        server.1=MyNode01:2888:3888
        server.2=MyNode02:2888:3888
        server.3=MyNode03:2888:3888
        
    • 将配置好的zookeeper分发的其它机器上
      • cd /home/bgd/install
      • sudo scp -r zookeeper-3.4.5-cdh5.14.2/ MyNode02:$PWD
      • sudo scp -r zookeeper-3.4.5-cdh5.14.2/ MyNode03:$PWD
    • 配置环境变量
      • sudo vim /etc/profile
        JAVA_HOME=/home/bgd/install/jdk1.8.0_141
        HADOOP_HOME=/home/bgd/install/hadoop-2.6.0-cdh5.14.2
        # 本次添加
        ZK_HOME=/home/bgd/install/zookeeper-3.4.5-cdh5.14.2
        PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin
        
        export JAVA_HOME
        export HADOOP_HOME
        # 本次添加
        export ZK_HOME
        export PATH
        
    • 将配置好的环境变量分发到其它机器上
      • sudo scp /etc/profile MyNode02:/etc/
      • sudo scp /etc/profile MyNode03:/etc/
  • 添加myid并使环境变量生效
    • MyNode01(icebear用户)
      • echo 1 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
      • source /etc/profile
    • MyNode02(icebear用户)
      • echo 2 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
      • source /etc/profile
    • MyNode03(icebear用户)
      • echo 3 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
      • source /etc/profile

二、开启/关闭zookeeper集群

  • 所有机器分别执行(icebear用户)
    • 开启
      • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start
    • 查看
      • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status
    • 停止
      • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh stop
    • 重启
      • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh restart
    • 查看报错日志
      • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start-foreground
  • MyNode01机器(icebear用户)
    • 一键开启 sudo bash zk_start.sh
      #!/bin/sh
      for host in MyNode01 MyNode02 MyNode03
      do
              ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start"
              echo "$host ZK is running"
      done
      
    • 一键查看 sudo bash zk_status.sh
      #!/bin/sh
      for host in MyNode01 MyNode02 MyNode03
      do
              ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status"
              echo "$host"
      done
      
    • 一键关闭 sudo bash zk_stop.sh
      #!/bin/sh
      for host in MyNode01 MyNode02 MyNode03
      do
              ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh stop"
              echo "$host ZK is stoped"
      done
      

三、查看集群

  • image.png

四、报错排查

  • 查看日志
    • sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start-foreground
  • 若Zookeeper集群无法正常启动
    • 修改zkServer.sh
      • sudo vim /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh
        # 添加
        source /etc/profile
        
    • 再次开启集群
      • sudo bash zk_start.sh