CentOS7 部署 Zookeeper 集群

点点圈 提交于 2019-12-02 17:37:18

环境

主机名 eth0 IP eth1 IP 操作系统 ZK 版本 myid
zk221 192.168.1.221 192.168.16.221 CentOS7.5 3.4.14 221
zk222 192.168.1.222 192.168.16.222 CentOS7.5 3.4.14 222
zk223 192.168.1.223 192.168.16.223 CentOS7.5 3.4.14 223
  • 下载 zookeeper-3.4.14
  • eth0 网卡用于向客户端提供服务,eth1 网卡用于 zookeeper 集群内部通信

各节点初始配置

  • 关闭 selinux、防火墙
  • 部署 java 运行环境
  • 创建数据(快照日志)目录
    mkdir -p /var/lib/zookeeper/data
    
  • 创建事物日志目录
    mkdir -p /var/lib/zookeeper/dataLog
    
  • 创建服务日志目录
    mkdir -p /var/log/zookeeper
    
  • 生成 myid 文件
    # zk221
    echo 221 > /var/lib/zookeeper/data/myid
    # zk222
    echo 222 > /var/lib/zookeeper/data/myid
    # zk223
    echo 223 > /var/lib/zookeeper/data/myid
    

部署 zookeeper

  • 登陆 zk221,下载 zookeeper,解压至 /opt/ 下
  • 生成配置文件
    cd /opt/zookeeper/conf/
    cp zoo_sample.cfg zoo.cfg
    
  • 修改 /opt/zookeeper/conf/zoo.cfg
    dataDir=/var/lib/zookeeper/data
    dataLogDir=/var/lib/zookeeper/dataLog
    # servers
    server.221=192.168.16.221:2888:3888
    server.222=192.168.16.222:2888:3888
    server.223=192.168.16.223:2888:3888
    
  • 修改 /opt/zookeeper/bin/zkEnv.sh
    # 找到 ZOO_LOG_DIR="." 一行,换成如下
    ZOO_LOG_DIR="/var/log/zookeeper"
    
  • 打包 zookeeper 目录,复制到 zk222 和 zk223 上

启动集群

  • 直接启动脚本
    • 在每个节点上启动 zookeeper 服务
      /opt/zookeeper/bin/zkServer.sh start
      
  • systemd 启动
    • 创建 /usr/lib/systemd/system/zookeeper.service,内容如下
      [Unit]
      Description=Zookeeper
      Requires=network.service
      After=network.service
      [Service]
      Environment=JAVA_HOME=/opt/jre
      ExecStart=/opt/zookeeper/bin/zkServer.sh start-foreground
      SuccessExitStatus=143
      [Install]
      WantedBy=multi-user.target
      
    • 启动 zookeeper 服务
      systemctl daemon-reload
      systemctl start zookeeper
      

查看集群状态

  • 查看节点状态
    /opt/zookeeper/bin/zkServer.sh status
    

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!