centos

Zookeeper集群如何在CentOS搭建

小樊
38
2025-07-10 23:12:15
栏目: 智能运维

在CentOS上搭建Zookeeper集群需要以下步骤:

准备工作

  1. 选择服务器:准备至少三台服务器,其中一台作为Leader,其余作为Follower。
  2. 关闭SELinux(可选但推荐):临时关闭:sudo setenforce 0。永久关闭:编辑 /etc/selinux/config,将 SELINUXenforcing 改为 SELINUXdisabled,然后重启服务器。
  3. 安装Java环境
    • 检查Java版本:java -version
    • 安装OpenJDK:sudo yum install java-1.8.0-openjdk-devel.x86_64 -y
  4. 下载并解压Zookeeper
    • 从Apache Zookeeper官方网站下载适合CentOS的版本。
    • 解压下载的tar.gz文件:tar -zxvf zookeeper-x.x.x.tar.gz -C /usr/local/
    • 建议解压到 /usr/local/ 目录下。

配置Zookeeper

  1. 配置环境变量

    • 编辑 /etc/profile 文件,追加以下内容:
      export JAVA_HOME=/usr/java/jdk1.8.0_111
      export JRE_HOME=/usr/java/jdk1.8.0_111/jre
      export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
      export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
      export PATH=$PATH:$ZOOKEEPER_HOME/bin
      
    • 使修改生效:source /etc/profile
  2. 配置Zookeeper

    • 进入解压后的Zookeeper目录:cd /usr/local/zookeeper-3.4.9/conf
    • 复制 zoo_sample.cfg 文件并重命名为 zoo.cfgcp zoo_sample.cfg zoo.cfg
    • 编辑 zoo.cfg 文件,设置以下参数:
      tickTime=2000
      dataDir=/usr/local/zookeeper-3.4.9/data
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1 localhost:2888:3888
      server.2 localhost:2889:3889
      server.3 localhost:2890:3890
      
    • tickTime:Zookeeper的基本时间单位(以毫秒为单位)。
    • dataDir:Zookeeper保存数据的目录。
    • clientPort:客户端连接Zookeeper服务的端口。
    • initLimit:初始化连接时最长能忍受的心跳时间间隔数。
    • syncLimit:Leader与Follower之间进行心跳检测的最大延时时间。
    • server.x:每个服务器的ID,格式为 server.IP地址:端口:端口
  3. 创建数据目录

    • 在每台服务器上创建数据存储目录:sudo mkdir /usr/local/zookeeper-3.4.9/data
    • 确保Zookeeper用户具有对这些目录的读写权限。
  4. 创建myid文件

    • 在每台服务器的 dataDir 目录下创建一个名为 myid 的文件,内容为该服务器的唯一ID(例如,Master节点的ID为1,Slave节点的ID为2)。

启动Zookeeper服务

  1. 启动Zookeeper服务

    • 在每台服务器上启动Zookeeper服务:./bin/zkServer.sh start
  2. 验证启动情况

    • 使用以下命令检查Zookeeper的状态:./bin/zkServer.sh status
    • 显示如下即为安装成功。

配置防火墙

  1. 开放Zookeeper使用的端口(默认是2181):
    • 编辑防火墙配置文件:sudo vi /etc/firewalld/rules.d/zookeeper.rules
    • 添加以下内容:
      port 2181 protocol tcp
      allow in
      
    • 重启防火墙:sudo firewall-cmd --reload

验证集群运行

  1. 使用Zookeeper客户端工具验证连接
    • 安装Zookeeper客户端工具:sudo yum install zookeeper-client
    • 连接到Zookeeper集群:zkCli
    • 列出根节点:ls /

0
看了该问题的人还看了