码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux搭建Zookeeper伪集群详解


    目录

      • 一、Zookeeper集群⻆⾊
      • 二、集群搭建
        • 1、下载安装单节点zk
        • 2、建立四个文件夹
        • 3、创建4个节点的myid,并设值
        • 4、编写4个zoo.cfg
        • 5、启动4台Zookeeper
        • 6、查看zk每个节点状态
        • 7、连接Zookeeper集群

    一、Zookeeper集群⻆⾊

    zookeeper集群中的节点有三种⻆⾊

    • Leader:处理集群的所有事务请求,集群中只有⼀个Leader。
    • Follower:只能处理读请求,参与Leader选举。
    • Observer:只能处理读请求,提升集群读的性能,但不能参与Leader选举。

    二、集群搭建

    本次我们要搭建4个节点,其中⼀个节点为Observer
    在这里插入图片描述

    1、下载安装单节点zk

    下载安装教程:https://blog.csdn.net/weixin_43888891/article/details/125400887

    2、建立四个文件夹

    这四个文件夹用来存储持久化数据

    在这里插入图片描述

    3、创建4个节点的myid,并设值

    echo 1 > myid:这个命令就是在当前文件夹下创建myid文件,并赋值1

    /data/zookeeper/data/zk1# echo 1 > myid
    /data/zookeeper/data/zk2# echo 2 > myid
    /data/zookeeper/data/zk3# echo 3 > myid
    /data/zookeeper/data/zk4# echo 4 > myid
    
    • 1
    • 2
    • 3
    • 4

    4、编写4个zoo.cfg

    在这里插入图片描述

    通过cp命令一个一个复制
    在这里插入图片描述

    复制过后需要一个一个修改,需要修改的内容如下:

    这块的ip一定要注意,ip是用的ip addr查出来的网卡ip,而不是主机ip。主机ip就是使用xshell连接linux的ip。

    这里的server.1、server.2其实就是跟上面我们创建的myid文件当中的内容是相关联的!

    #存放数据文件夹(修改对应的zk1 zk2 zk3 zk4)
    dataDir=/data/zookeeper/data/zk1
    #添加日志存放文件夹(修改对应的zk1 zk2 zk3 zk4)
    dataLogDir=/data/zookeeper/data/zk1/dataLog
    # 修改对应的端⼝ 2181 2182 2183 2184
    clientPort=2181
    # 2001为集群通信端⼝,3001为集群选举端⼝,observer表示不参与集群选举,ip换自己linuxip
    server.1=172.16.253.54:2001:3001
    server.2=172.16.253.54:2002:3002
    server.3=172.16.253.54:2003:3003
    server.4=172.16.253.54:2004:3004:observer
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    5、启动4台Zookeeper

    启动的时候要保证防火墙是关闭状态

    由于配置了环境变量,所以直接可以在任何文件夹下执行启动命令!

    zkServer.sh start /data/zookeeper/conf/zoo1.cfg
    zkServer.sh start /data/zookeeper/conf/zoo2.cfg
    zkServer.sh start /data/zookeeper/conf/zoo3.cfg
    zkServer.sh start /data/zookeeper/conf/zoo4.cfg
    
    • 1
    • 2
    • 3
    • 4

    6、查看zk每个节点状态

    当只启动1个节点查看状态的时候,可能会出现以下场景,记住要全启动完,再去查看状态!
    在这里插入图片描述

    zkServer.sh status /data/zookeeper/conf/zoo1.cfg
    zkServer.sh status /data/zookeeper/conf/zoo2.cfg
    zkServer.sh status /data/zookeeper/conf/zoo3.cfg
    zkServer.sh status /data/zookeeper/conf/zoo4.cfg
    
    • 1
    • 2
    • 3
    • 4

    通过状态会发现2被选择为了主节点,这就是通过选举机制选择出来的2为主节点!

    关于节点的选举机制,我会在下一篇文章当中讲解!

    在这里插入图片描述

    7、连接Zookeeper集群

    这里也是,ip是网卡ip不是主机ip。

    zkCli.sh -server 172.16.253.54:2181,172.16.253.54:2182,172.16.253.54:2183
    
    • 1
  • 相关阅读:
    JS常用事件,使用方法
    IOday3作业
    Spring源码之六-onRefresh()方法
    从区划边界geojson中查询经纬度坐标对应的省市区县乡镇名称,开源Java工具,内存占用低、高性能
    CarSim仿真高级进阶(三)---VS 命令行(3)
    【Java对象实例与文件之间互转】
    leetcode-338.比特位计数
    Java基础知识【HashMap和Hashtable区别与红黑树】
    【Python毕业设计源码】django个性化服装系统
    算法题打卡day58-单调栈 | 739. 每日温度、496.下一个更大元素I
  • 原文地址:https://blog.csdn.net/weixin_43888891/article/details/125474995
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号