ZooKeeper 环境搭建详细教程之三(真集群)

发布于:2024-05-03 ⋅ 阅读:(32) ⋅ 点赞:(0)

ZooKeeper 搭建详细步骤之三(真集群)
ZooKeeper 搭建详细步骤之二(伪集群模式)
ZooKeeper 搭建详细步骤之一(单机模式)
ZooKeeper 及相关概念简介

真集群搭建

搭建 ZooKeeper 真集群涉及多个步骤,包括准备环境、配置文件设置、启动服务以及验证集群状态。

以下是一个简化的步骤指南:

前置条件

  • 准备至少三台独立的物理服务器或虚拟机,确保它们之间网络连通。
  • 在每台服务器上安装相同的 ZooKeeper 版本。

步骤一:配置 ZooKeeper 安装目录

在每台服务器上,选择一个目录作为 ZooKeeper 的安装目录,例如 /opt/zookeeper。解压 ZooKeeper 安装包并将其内容移动到此目录。

步骤二:配置 ZooKeeper 配置文件

在每台服务器上编辑 zoo.cfg 文件(通常位于安装目录的 conf 子目录下),为每个节点指定相应的配置。关键配置项包括:

  • dataDir: 指定每个节点的数据存储目录,应为服务器上的唯一路径,例如 /var/lib/zookeeper/data

  • clientPort: 指定每个节点对外提供服务的客户端连接端口,通常设为 2181。

  • server.X: 配置集群成员信息,其中 X 是一个唯一的整数标识符(如 1、2、3)。格式为 hostname:peerPort:leaderElectionPort,示例如下:

    server.1=server1.example.com:2888:3888
    server.2=server2.example.com:2888:3888
    server.3=server3.example.com:2888:3888
    
    • hostname: 对应服务器的主机名或IP地址。
    • peerPort: 用于集群内部通信的端口(默认为 2888)。
    • leaderElectionPort: 用于选举 leader 的端口(默认为 3888)。

确保在所有节点的 zoo.cfg 文件中都配置了完整的集群成员列表。

步骤三:生成 myid 文件

在每台服务器的数据目录(即 dataDir 设置的路径)下创建一个名为 myid 的文件,内容仅为一个整数,对应于 zoo.cfg 文件中 server.X 配置项中的 X。例如,对于 server.1myid 文件内容应为 1

步骤四:开放防火墙端口

确保所有服务器上的相关端口(客户端端口 2181,以及集群内部通信端口 2888 和 3888)在防火墙中开放,允许集群间通信。

步骤五:启动 ZooKeeper 服务

在每台服务器上,通过以下命令启动 ZooKeeper 服务:

cd /opt/zookeeper/bin
./zkServer.sh start

检查服务启动日志,确认无错误信息。

步骤六:验证集群状态

通过 ZooKeeper CLI 连接到任意一个节点,检查集群状态:

./zkCli.sh -server server1.example.com:2181

在 CLI 中执行 stat 命令,观察输出信息中的 Mode: 字段,确认是否有节点处于 leader 状态,其余节点应为 follower 状态。此外,还可以使用 ls / 命令查看根目录下的节点,确保所有节点数据一致。

以上就是一个基本的 ZooKeeper 真集群搭建过程。实际操作时,请根据具体的系统环境和需求进行适当的调整。确保所有节点配置正确,网络通信畅通,且能够正常加入集群并参与 leader 选举。完成搭建后,应定期检查集群健康状况,确保其持续稳定运行。

接下来我们来演示一下配置的详细过程命令,下面以三个虚拟机 node1,node2,node3 为例,安装目录/opt/apps/zookeeper 。

步骤举例演示

先解压并重命名
[zhang@node3 soft]$ ls
apache-flume-1.11.0-bin_.tar.gz  apache-zookeeper-3.8.4-bin_.tar.gz  jdk-8u281-linux-x64.tar.gz
apache-hive-3.1.3-bin.tar.gz     hadoop-3.2.4.tar.gz
[zhang@node3 soft]$ tar -zxvf apache-zookeeper-3.8.4-bin_.tar.gz -C /opt/apps/
# .....省略过程

# 重命名
[zhang@node3 soft]$ cd /opt/apps/
[zhang@node3 apps]$ ls
apache-zookeeper-3.8.4-bin  flume  hadoop-3.2.4  hive3.1  jdk1.8.0_281  temp
[zhang@node3 apps]$ mv apache-zookeeper-3.8.4-bin/ zookeeper
[zhang@node3 apps]$ ls
flume  hadoop-3.2.4  hive3.1  jdk1.8.0_281  temp  zookeeper
修改环境变量

为了操作命令方便性,这里会配置~/bashrc 中的环境变量 path 指向 zookeeper/bin 目录

具体配置可以参考之前的单机搭建

在这里插入图片描述

修改配置文件

在 ZooKeeper 安装目录 conf 下配置 zoo.cfg 文件,三个虚拟机配置相同,内容关键配置如下:

dataDir=/opt/apps/zookeeper/zkdata
# the port at which the clients will connect
clientPort=2181
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

具体命令:

[zhang@node3 conf]$ vim zoo.cfg  

网站公告

今日签到

点亮在社区的每一天
去签到