当前位置: 首页 > news >正文

我们来学zookeeper -- 集群搭建

zk3.9.2版本集群

  • 说明
  • 下载
  • 解压&创建目录
  • 创建myid
  • 配置zoo.cfg
    • server.A=B:C:D 参数
    • zk1
    • zk2
    • zk3
  • 启停
  • 从读写步骤看主从

说明

  • 本文是基于一台服务器搭建zk集群的记录
  • zk集群是主从架构
  • 分别创建三个目录模拟三个节点
  • 只要有半数以上节点存活,zk 集群就能正常服务,适合安装奇数台

下载

  • 下载地址
  • 选择版本3.9.2
    在这里插入图片描述

解压&创建目录

  • tar -zxvf zookeeper-3.9.2.tar.gz -C 12181/
    在这里插入图片描述
  • 创建zkdata/zklogs目录
    在这里插入图片描述

创建myid

  • 配置节点(服务器)编号
  • 在 /zkData 中,创建文件 myid(必须叫 myid,源码读取的文件是 myid)
    echo 1 > /u01/app/zk392/12181/zkdata/myid
    echo 2 > /u01/app/zk392/12182/zkdata/myid
    echo 3 > /u01/app/zk392/12183/zkdata/myid
    
    在这里插入图片描述

配置zoo.cfg

server.A=B:C:D 参数

  • A 是一个数字,表示这个是第几号服务器;就是 myid中的值
  • B:是服务器的主机名或 IP 地址
  • C 当集群启动或 leader 崩溃时,各节点通过此端口进行投票选举新leader
  • D 用于 leader 与 follower 之间的数据同步和复制端口

zk1

clientPort=12181
admin.serverPort=18081 # admin.serverPort 默认占8080端口
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
server.2=127.0.0.1:12887:13887
server.3=127.0.0.1:12888:13888
server.4=127.0.0.1:12889:13889

zk2

clientPort=12182
admin.serverPort=18082 # admin.serverPort 默认占8080端口
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
server.2=127.0.0.1:12887:13887
server.3=127.0.0.1:12888:13888
server.4=127.0.0.1:12889:13889

zk3

clientPort=12183
admin.serverPort=18083 # admin.serverPort 默认占8080端口
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
server.2=127.0.0.1:12887:13887
server.3=127.0.0.1:12888:13888
server.4=127.0.0.1:12889:13889

启停

/u01/app/zk392/12181/bin/zkServer.sh stop; /u01/app/zk392/12182/bin/zkServer.sh stop;/u01/app/zk392/12183/bin/zkServer.sh stop;
/u01/app/zk392/12181/bin/zkServer.sh start; /u01/app/zk392/12182/bin/zkServer.sh start;/u01/app/zk392/12183/bin/zkServer.sh start;
/u01/app/zk392/12181/bin/zkServer.sh status; /u01/app/zk392/12182/bin/zkServer.sh status;/u01/app/zk392/12183/bin/zkServer.sh status;

在这里插入图片描述

从读写步骤看主从

  • zk集群是主从架构
  • 但此主从,能做到从节点转为主的恢复
  • 主节点的写入,也需要得到半数从节点成功写入的反馈

  • 所有写操作必须通过 Leader 处理
    在这里插入图片描述
  • client向zookeeper的server1发送一个写数据请求
  • server1不是leader,server1把接收到的请求转发给leader
  • leader将写数据请求广播给各个server,如server1和server2,各个server会将写数据请求加入待写队列,并回复leader
  • 当leader收到半数以上server的成功信息,说明该写操作可以执行
  • leader会向各个server发送提交信息
  • 各个server收到信息后会落实队列里的写数据请求,写数据成功
  • server1会进一步通知client写数据成功,这时认为整个写操作成功

相关文章:

  • xcode 各版本真机调试包下载
  • 小型民用AUV用途与研究
  • Python爬虫爬取天猫商品数据,详细教程【Python经典实战项目】
  • WireShark相关技巧
  • Python 入门到进阶全指南:从语言特性到实战项目
  • DexUMI:以人手为通用操作界面,实现灵巧操作
  • 【android bluetooth 协议分析 14】【HFP详解 1】【案例一: 手机侧显示来电,但车机侧没有显示来电: 讲解AT+CLCC命令】
  • 【OpenGL学习】(四)统一着色和插值着色
  • Nginx 安全设置配置
  • css实现圆环展示百分比,根据值动态展示所占比例
  • 代码随想录|动态规划|50编辑距离
  • oracle从表B更新拼接字段到表A
  • Fiddler Everywhere 安卓手机抓包
  • 一文了解 GPU 服务器及其在数据中心中的角色
  • 常见的MySQL索引类型
  • Day44打卡 @浙大疏锦行
  • MVCC理解
  • c++ STL 仿函数和适配器(算法常用)
  • Java运行环境配置日志(Log)运行条件,包含鸿蒙HarmonyOS
  • 【Java】CopyOnWriteArrayList
  • c 网站开发框架/百度秒收录技术
  • 网站页脚信息/模板下载网站
  • 建设网站公司专业/平台推广是做什么的
  • 手机娱乐网站制作/google chrome官网入口
  • 网页设计基础知识试题/优化大师官网入口
  • 网站点击弹出下载框 怎么做/网盘网页版登录入口