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 集群,以便为分布式应用提供可靠的协调服务。下·

相关推荐
MiniFlyZt36 分钟前
消息队列MQ(RabbitMQ)
spring boot·分布式·微服务·rabbitmq
梦城忆1 小时前
常用的分布式 ID 设计方案
分布式
qxlxi1 小时前
【分布式】聊聊分布式id实现方案和生产经验
分布式·架构
Elastic 中国社区官方博客1 小时前
使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack
大数据·linux·服务器·elasticsearch·搜索引擎·信息可视化·debian
&星辰入梦来&2 小时前
RabbitMQ 从入门到精通
分布式·rabbitmq
小袁拒绝摆烂2 小时前
RabbitMQ从入门到实战-2
分布式·rabbitmq
对许3 小时前
Hadoop的运行模式
大数据·hadoop·分布式
穿越在未来3 小时前
【RabbitMQ】Producer之TTL过期时间 - 基于AMQP 0-9-1
分布式·消息队列·rabbitmq·消息中间件·rabbitmq ttl
可乐cc呀5 小时前
kafka单机部署实战
分布式·zookeeper·kafka
StableAndCalm5 小时前
什么是zookeeper
分布式·zookeeper·云原生