zookeeper集群部署安装

以下是 Zookeeper 3.8 在三台机器(IP 分别为 192.168.0.200、192.168.0.201、192.168.0.202)上部署集群模式的详细指导。操作系统为 RedHat 8.2。

前提条件

  1. 确保所有机器上已经安装了 Java 环境(JDK 8 或以上)。
  2. 确保所有机器之间的网络连接正常。

步骤 1:在每台机器上下载并解压 Zookeeper

  1. 登录到每台机器。

  2. 下载 Zookeeper 3.8 并解压:

    bash 复制代码
    wget https://downloads.apache.org/zookeeper/stable/apache-zookeeper-3.8.0-bin.tar.gz
    tar -xzf apache-zookeeper-3.8.0-bin.tar.gz
    mv apache-zookeeper-3.8.0-bin /opt/zookeeper

步骤 2:配置 Zookeeper

  1. 在每台机器上,进入 Zookeeper 目录并复制示例配置文件:

    bash 复制代码
    cd /opt/zookeeper
    cp conf/zoo_sample.cfg conf/zoo.cfg
  2. 编辑 conf/zoo.cfg 文件,确保内容如下:

    properties 复制代码
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/var/lib/zookeeper
    dataLogDir=/var/log/zookeeper
    clientPort=2181
    server.1=192.168.0.200:2888:3888
    server.2=192.168.0.201:2888:3888
    server.3=192.168.0.202:2888:3888
    4lw.commands.whitelist=*

步骤 3:创建数据和日志目录

  1. 在每台机器上,创建数据目录和日志目录,并设置权限:

    bash 复制代码
    mkdir -p /var/lib/zookeeper
    mkdir -p /var/log/zookeeper

步骤 4:配置 myid 文件

  1. 在每台机器的 dataDir 目录中创建 myid 文件。根据每台机器的 IP 地址,写入对应的 ID:

    • 192.168.0.200 上:

      bash 复制代码
      echo "1" > /var/lib/zookeeper/myid
    • 192.168.0.201 上:

      bash 复制代码
      echo "2" > /var/lib/zookeeper/myid
    • 192.168.0.202 上:

      bash 复制代码
      echo "3" > /var/lib/zookeeper/myid

步骤 5:启动 Zookeeper 服务

  1. 在每台机器上启动 Zookeeper 服务:

    bash 复制代码
    cd /opt/zookeeper
    bin/zkServer.sh start
  2. 验证 Zookeeper 服务状态:

    bash 复制代码
    bin/zkServer.sh status

步骤 6:防火墙配置

  1. 在每台机器上,确保防火墙允许 Zookeeper 所使用的端口(2181、2888、3888)进行通信:

    bash 复制代码
    sudo firewall-cmd --permanent --add-port=2181/tcp
    sudo firewall-cmd --permanent --add-port=2888/tcp
    sudo firewall-cmd --permanent --add-port=3888/tcp
    sudo firewall-cmd --reload

步骤 7:验证 Zookeeper 集群

  1. 使用 Zookeeper 客户端工具连接到集群并验证集群状态。在任何一台机器上执行以下命令:

    bash 复制代码
    cd /opt/zookeeper
    bin/zkCli.sh -server 192.168.0.200:2181
  2. 在 Zookeeper CLI 中,运行以下命令查看集群状态:

    bash 复制代码
    stat

    您应该能看到 Leader 和 Follower 的信息,表明集群已经成功启动并运行。

示例配置文件

以下是完整的 zoo.cfg 配置文件示例:

properties 复制代码
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
dataLogDir=/var/log/zookeeper
clientPort=2181
server.1=192.168.0.200:2888:3888
server.2=192.168.0.201:2888:3888
server.3=192.168.0.202:2888:3888
4lw.commands.whitelist=*

完成后的检查和维护

  1. 日志检查

    • 查看 Zookeeper 日志文件,确保没有错误或警告。日志文件通常位于 dataLogDir 目录中,例如 /var/log/zookeeper/zookeeper.out
  2. 健康检查

    • 定期检查集群的健康状态,确保所有节点都在正常运行。
  3. 配置管理

    • 确保所有节点上的配置文件一致。如果需要更新配置,确保同步更新所有节点。

通过上述步骤,您可以成功部署并配置一个 Zookeeper 集群,以便为分布式应用提供可靠的协调服务。下·

相关推荐
lakernote4 小时前
图解 Kafka Consumer 常用 API:poll、seek、pause、wakeup 到底在控制什么?
分布式·kafka·linq
数据库小学妹7 小时前
集群与分布式啥区别?从主从集群到分布式实战
分布式·分布式数据库·数据库架构·集群·分库分表·主从集群·集群与分布式
江畔柳前堤7 小时前
AgentScope 设计与原理全解:从消息原语到分布式智能体工程底座
大数据·人工智能·分布式·目标检测·机器学习·语言模型·架构
萧瑟余晖8 小时前
Java深入解析篇三十四之分布式事务
java·开发语言·分布式
零域码客8 小时前
Redis 双刃剑:缓存与分布式锁的本质区别
redis·分布式·缓存·并发控制·后端架构
hopsky10 小时前
kafka 对发送端的容错处理
数据库·分布式·kafka
ltl18 小时前
3D 并行深度:数据 / 张量 / 流水 / 序列 / ZeRO
分布式
FserSuN1 天前
回顾Spark的概念与应用
大数据·分布式·spark
头茬韭菜1 天前
功能点 1:项目骨架与启动流程 —— 源码阅读笔记
运维·笔记·debian·fluss
抓不住时间的沙1 天前
N1搭建Hexo个人博客,部署到Github
python·docker·node.js·debian·github·arm