搭建ZooKeeper集群

Posted by Qiuyu Zhang on 2019-12-05

服务器搭建ZooKeeper集群

  1. jdk下载
  • 下载完成后解压tar包
    1
    tar -zxvf jdk.tar -C 解压到指定目录
  • 配置环境变量
    1
    2
    3
    4
    echo 'export JAVA_HOME=jdk解压路径' | sudo tee -a /etc/profile
    echo 'export PATH=$PATH:$JAVA_HOME/bin' | sudo tee -a /etc/profile
    echo 'export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/bin' | sudo tee -a /etc/profile
    source /etc/profile
  1. 创建ZooKeeper用户组
    1
    2
    sudo groupadd zookeeper
    sudo useradd zookeeper -g zookeeper
  2. ZooKeeper下载
  • 下载完之后解压安装包
    1
    tar -zxvf zookeeper-3.4.12.tar.gz -C 解压指定目录
  • 配置环境变量
    1
    2
    3
    echo 'export ZOOKEEPER_HOME=zookeeper解压路径' | sudo tee -a /etc/profile
    echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf' | sudo tee -a /etc/profile
    source /etc/profile
  • 修改ZooKeePer解压的目录所属用户组
    1
    chown zookeeper:zookeeper -R zookeeper-3.4.12
  • 复制示例配置文件
    1
    2
    cd zookeeper/conf/
    cp zoo_sample.cfg zoo.cfg
  • 修改配置信息
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ticketTime=2000
    initLimit=10
    syncLimit=5
    # 数据路径
    dataDir=/zookeeper-3.4.12/data
    # 日志路径
    dataLogDir=/zookeeper-3.4.12/logs
    clientPort=2181
    # cluster info
    server.1=node151:2888:3888
    server.2=node152:2888:3888
    server.3=node153:2888:3888
  • 创建数据目录,日志目录
    1
    2
    sudo -u zookeeper mkdir  data
    sudo -u zookeeper mkdir logs
  • 修改bin目录项zkEnv.sh命令
    1
    2
    3
    vim vim /zookeeper-3.4.12/bin/zkEnv.sh
    修改内容:
    ZOO_LOG_DIR="/zookeeper-3.4.12/logs"
  • 创建myid文件
    1
    2
    3
    touck /zookeeper-3.4.12/data/myid
    填入内容与zoo.cfg文件中server编号一致
    echo "1" > myid
  • 复制到另外俩太机器上一次修改myid文件内容
    1
    2
    echo "2" > myid
    echo "3" > myid
  • 配置hosts
    1
    2
    3
    ip node151
    ip node152
    ip node153
  • 启动ZooKeeper集群
    1
    sudo -u zookeeper -E /zookeeper-3.4.12/bin/zkServer.sh start
  • 查看启动状态
    1
    sudo -u zookeeper -E /zookeeper-3.4.12/bin/zkServer.sh status
  • 停止集群
    1
    sudo -u zookeeper -E /zookeeper-3.4.12/bin/zkServer.sh stop
  1. 如果查看状态报错:Error contacting service. It is probably not running.
    1. 说明zkEnv.sh命令内容没有修改日志路径
    2. 查看服务器防火墙是否关闭
    3. 查看配置文件是否配置成功
    4. 查看host是否配置成功