Zookeeper分布式集群
admin
2023-03-08 15:21:08
0

一、简介

     Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。

    Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。

1、典型应⽤用场景

1)分布式通知/协调

⽤用于分布式系统的任务分发与任务执⾏行结果反馈

2) 集群管理

– 可以监控节点的存活状态

3)Master选举

Master/slave结构的系统中,避免单点故障,需要多个master,其中

只有⼀一个active master,ZooKeeper帮助选择active master

4) 分布式锁

– 独占:某⼀一时刻只有⼀一个client能够获得

– 控制时序:多个客户端的某些过程按照顺序执⾏行

5) 分布式队列

https://blog.csdn.net/king866/article/details/53992653/

2、架构

Zookeeper分布式集群Zookeeper分布式集群

2.1、节点

– 2N+1个server组成,N+1个节点可⽤用时,整个系统保持可⽤用

2.2、server⾓角⾊色类型

– Server:存放数据(in-memory)

– Leader:不接受client的请求,负责进⾏行投票的发起和决议,最终更新状态 – Follower:接收客户请求并返回客户结果,参与Leader发起的投票

3、ObServer节点

问题

当client变多,ZK集群变⼤大时,节点都为follower时,更新成 本较⼤大

• 解决方案

ObServer节点:和client交互,存有数据的副本,不参与投票

4、角色

Zookeeper分布式集群Zookeeper分布式集群

5、ZooKeeper承诺

5.1、顺序性

client的update请求都会根据他发出的顺序被顺序的处理

5.2、原子性

一个update操作要么成功要么失败,没有其他可能的结果

5.3、强一致性

client无论连接到那个server,展⽰示给它的都是同⼀一个视图

5.4、 可靠性

update一旦成功,就被持久化了,除⾮非另⼀一个update请求更 新了当前值

5.5、实时性

对于每⼀一个client,它的系统视图都是最新的

二、准备工作

1、系统环境

主机名

系统

服务版本

IP

master

CentOS7.4

3.4.12

192.168.56.129

slave1

CentOS7.4

3.4.12

192.168.56.130

slave2

CentOS7.4

3.4.12

192.168.56.131

2、暂时关闭防火墙和selinux

3、软件下载

下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/

Zookeeper分布式集群

4、Java环境

Zookeeper分布式集群Zookeeper分布式集群

三、服务搭建

1、解压三个节点的文件

[root@master ~]# cd /home/

[root@master home]# tar -zxvf zookeeper-3.4.12.tar.gz

[root@master home]# ln -s zookeeper-3.4.12 zookeeper

备注:三个节点相同操作

2、在conf目录下创建zoo.cfg文件,三个节点配置相同,如下

[root@master ~]# cd /home/zookeeper/conf/

[root@master conf]# cp zoo_sample.cfg zoo.cfg

[root@master conf]# vim zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/var/lib/zookeeper

clientPort=2181

maxClientCnxns=50

server.1=192.168.56.129:2888:3888

server.2=192.168.56.130:2888:3888

server.3=192.168.56.131:2888:3888

3、创建文件/var/lib/zookeeper/myid,3个节点的 内容分别为1、2、3

[root@master conf]# mkdir -p /var/lib/zookeeper

[root@master conf]# cd /var/lib/zookeeper/

[root@master zookeeper]# vim myid

Zookeeper分布式集群Zookeeper分布式集群

4、启动三个节点

[root@master zookeeper]# bin/zkServer.sh start

Zookeeper分布式集群Zookeeper分布式集群

[root@master zookeeper]# jps

Zookeeper分布式集群Zookeeper分布式集群

[root@master zookeeper]# bin/zkServer.sh status

Zookeeper分布式集群Zookeeper分布式集群

5、测试

5.1、在zookeeper中任意一个节点,执行指令zkCli.sh

[root@master zookeeper]# ./bin/zkCli.sh

Zookeeper分布式集群Zookeeper分布式集群

5.2、输入:help    #帮助信息

Zookeeper分布式集群Zookeeper分布式集群

ls  /   查找根目录

create /test abc   创建节点并赋值

get /test   获取指定节点的值

set /test cb  设置已存在节点的值

rmr /test  递归删除节点

delete /test/test01  删除不存在子节点的节点

5.3、相关操作命令

新建操作

Zookeeper分布式集群Zookeeper分布式集群

删除操作

Zookeeper分布式集群Zookeeper分布式集群

5.4、查看工具

在Eclipse中查看Zookeeper集群节点

也可以使用ZooInspector查看

这里使用ZooInspector工具进行查看

下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

解压,进入目录ZooInspector\build,双击运行zookeeper-dev-ZooInspector.jar;

备注:前提是Windows环境安装了Java

Zookeeper分布式集群Zookeeper分布式集群

4.5、点击左上角连接按钮,输入zk服务地址:ip:2181

Zookeeper分布式集群Zookeeper分布式集群

点击OK,即可查看ZK节点信息

Zookeeper分布式集群Zookeeper分布式集群

6、异常

   6.1、CONNECTION_LOSS(连接丢失)

        – eg:连接的server down掉

  6.2、 SESSION_EXPIRED(会话失效)

   – 由ZooKeeper集群管理,⾮非client管理

   – ZooKeeper清除和该session有关的信息 – 正常运⾏行的ZK不会出现这种情况


相关内容

热门资讯

特朗普的关键矿产战略能行吗? 5月7日,法国以G7轮值主席国身份召开线上高层会议,重点商讨在关键矿产领域对中国的遏制围堵政策。依托...
世卫组织:“洪迪厄斯”号邮轮疫... 世卫组织8日更新“洪迪厄斯”号邮轮疫情最新数据,截至5月8日,共报告8例病例,其中3例死亡病例。8例...
伊朗因储油罐已满而将石油排入海... 新华社德黑兰5月9日电 据伊朗塔斯尼姆通讯社9日凌晨报道,伊朗伊斯兰议会代表布什尔省的议员贾法尔·普...
金正恩向俄总统致贺电:平壤始终... 新华社平壤5月9日电(记者王天僚)据朝中社9日报道,朝鲜最高领导人金正恩当天向俄罗斯总统普京致贺电,...
美专家:伊朗扛不住了,或正向波... 据福克斯新闻5月8日报道,卫星图像显示,伊朗主要石油出口枢纽哈尔克岛附近出现大片疑似石油泄漏的浮油带...
黄土塬藏“算力密码”!中国电信... 在陇东黄土塬上,数字浪潮奔涌不息。作为国家 “东数西算” 工程的核心承载地,中国电信庆阳智算产业园正...
科沃斯加入清洁电器行业反虚假测... 【CNMO科技消息】5月8日,科沃斯官方微博宣布,科沃斯加入由中国家用电器协会指导、中国家电网发起成...
东华科技获得发明专利授权:“一... 证券之星消息,根据天眼查APP数据显示东华科技(002140)新获得一项发明专利授权,专利名为“一种...
头部企业扎堆超百场无人机赛事,... 文/陈聆听 2026 年 5 月 4 日,山东诸城,山东天鸟航空负责人丁总与当地多位中小学校长会面,...
重磅签约!华为、中国银联战略合... 快科技5月8日消息,华为和中国银联在深圳正式签约,进一步深化双方的战略合作,还一起发布了自主创新和人...