Zookeeper原理

zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,
它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。
最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户

配置zookeeper

  • 上传zookeeper.jar包

  • 解压

  • 修改 zookeeper下的zoo.cfg

    dataDir= 设置自己的目录 -------是数据目录路径
    配置节点: server.1=node01:2888:3888
    server.2=node02:2888:3888
    server.3=node03:2888:3888

  • 2888和3888是端口号

  • 2888:是对外通信的端口号

  • 3888:是leader挂掉之后 重新选举leader时候提供的对外的端口号

(特别注意:linux中的防火墙必须关掉,否则zookeeper集群启动不成功)
由于zookeeper是选举机制所以节点最好是2N+1个

原子广播

广播模式:已经选举的出来的leader,开始对外提供服务---原子广播

通过投票确定某一件事能不能做(过半原则—zookeeper最好是奇数)
提交请求到follower,follower会将请求发送给leader
leader将请求下发给所有的follower,F来判断,并将结果返回给L
L将请求写入的文件分发到所有的follower------(最终一致性–及时在写入的过程中有节点连接不上,当恢复的时候还会把节点上写入数据)
在这里插入图片描述

和zab协议

广播模式–选举出来leader,对外提供服务
恢复模式—选举leader,也就是4大状态存在

zookeeper中的角色

         角色                 任务                                         状态
1. leader   领导者          发起请求,并且投票                                 leading
2. follower   跟随者        响应leader的请求并发起投票                         following
3. observer  监听者         监视leader 并将leader的情况汇报 不参与投票          observering
                               looking (leader挂掉或者刚启动集群)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值