CentOS7 部署 Zookeeper 集羣

環境

主機名 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
相關文章
相關標籤/搜索