• CentOS7上从0开始搭建Zookeeper集群


    环境准备

    首先你需要准备三台zookeeper(待会会讲zookeeper的安装流程),可以安装一台之后进行克隆。同时需要开放以下三个端口

    • 2181:client连接zookeeper的端口
    • 2888:集群内通信端口
    • 3888:leader选举使用

    你可以选择开放端口或关闭防火墙,开放端口命令:

    firewall-cmd --zone=public --add-port=2181/tcp --permanent
    firewall-cmd --zone=public --add-port=2888/tcp --permanent
    firewall-cmd --zone=public --add-port=3888/tcp --permanent
    firewall-cmd --reload
    
    • 1
    • 2
    • 3
    • 4

    永久关闭防火墙命令:

    systemctl disable --now firewalld
    
    • 1

    安装jdk

    如图zookeeper需要1.8或以上版本的java(图片截自zookeeper官网):
    在这里插入图片描述

    我之前写过一篇安装jdk8的文章,你们可以直接按照那片文章来:https://blog.csdn.net/m0_51510236/article/details/113739345

    安装zookeeper

    下载zookeeper

    在官网当中我们可以看到最新的稳定版本是 3.8.2
    在这里插入图片描述

    我们就下载这个版本,下载命令:

    wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.2/apache-zookeeper-3.8.2-bin.tar.gz
    
    • 1

    下载后如图:
    在这里插入图片描述

    解压zookeeper

    因为下载的是压缩包,所以直接解压即可安装成功,我打算将zookeeper安装/opt/server 目录下,所以执行下面这行两行命令:

    mkdir -p /opt/server
    tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz -C /opt/server
    
    • 1
    • 2

    解压后如图:
    在这里插入图片描述

    修改zookeeper配置文件

    我们执行下面两行命令来创建这个配置文件:

    cd apache-zookeeper-3.8.2-bin/conf/
    cp zoo_sample.cfg zoo.cfg
    
    • 1
    • 2

    执行如图:
    在这里插入图片描述

    然后我们修改它:

    vim zoo.cfg
    
    • 1

    可选修改内容(也可以保持默认):
    在这里插入图片描述

    接下来我们就可以尝试启动单机版zookeeper了,到zookeeper根目录下执行这行命令:

    ./bin/zkServer.sh start
    
    • 1

    启动后可以查看:
    在这里插入图片描述

    我们再执行这行命令查看zookeeper状态:

    ./bin/zkServer.sh status
    
    • 1

    可以看到是单机启动:
    在这里插入图片描述

    搭建zookeeper集群

    上面我们讲解了如何安装zookeeper,接下来我们搭建zookeeper集群。我们需要三台zookeeper。你可以选择克隆,也可以选择直接安装三台。我来看看我的IP地址配置:

    IP地址用途
    192.168.1.181第一台zookeeper
    192.168.1.182第二台zookeeper
    192.168.1.183第三台zookeeper

    我这里就直接克隆出了这三台,且均已连接上:
    在这里插入图片描述

    修改zoo.cfg文件

    根据上面的IP地址我们来修改一下 zoo.cfg 文件:

    cd /opt/server/apache-zookeeper-3.8.2-bin
    vim conf/zoo.cfg
    
    • 1
    • 2

    三台服务器都加上那么一个配置(注意修改IP地址):

    server.1=192.168.1.181:2888:3888
    server.2=192.168.1.182:2888:3888
    server.3=192.168.1.183:2888:3888
    
    • 1
    • 2
    • 3

    加上后如图:
    在这里插入图片描述

    添加myid文件

    我们需要在zookeeper的 dataDir (默认在/tmp/zookeeper下,如果修改了注意修改myid文件位置)下新增一个myid文件,这个文件的值取决于你在上一步在zoo.cfg文件下配置的值:
    在这里插入图片描述

    三台服务器分别执行下面这行代码(如果你修改了zookeeper默认的数据目录那么注意修改myid的文件位置):

    • 192.168.1.181
    echo 1 > /tmp/zookeeper/myid
    
    • 1
    • 192.168.1.182
    echo 2 > /tmp/zookeeper/myid
    
    • 1
    • 192.168.1.183
    echo 3 > /tmp/zookeeper/myid
    
    • 1

    执行后如图:
    在这里插入图片描述

    启动zookeeper集群

    启动命令一样,我们在三台服务器上都执行下面这行命令:

    # 来到安装zookeeper的目录
    cd /opt/server/apache-zookeeper-3.8.2-bin
    # 启动zookeeper
    ./bin/zkServer.sh start
    
    • 1
    • 2
    • 3
    • 4

    然后我们执行下面这行命令查看zookeeper集群的状态:

    ./bin/zkServer.sh status
    
    • 1

    可以看到一主两从的zookeeper集群:
    在这里插入图片描述
    关注我,下篇文章将如何在SpringBoot当中使用zookeeper实现分布式锁功能。

  • 相关阅读:
    一文搞懂泛型——泛型简介/优点/上界/通配符
    自动化测试-Xpath
    Linux:Nginx 正向代理实现内网访问互联网
    uniapp使用uQRCode绘制二维码,下载到本地,调起微信扫一扫二维码核销
    电汇ABC(2023-10)
    Fiddler/Charles - 夜神模拟器证书安装App抓包
    Real-Time Rendering——7.7 Filtered Shadow Maps过滤阴影贴图
    element-ui 中 el-tree 和 el-table 样式调整
    c#设计模式-结构型模式 之 组合模式
    结构型设计模式之装饰模式:DecoratorPattern
  • 原文地址:https://blog.csdn.net/m0_51510236/article/details/132834141