广告
返回顶部
首页 > 资讯 > 数据库 >Zookeeper选举机制(重点)
  • 962
分享到

Zookeeper选举机制(重点)

Zookeeper选举机制(重点) 2017-07-10 02:07:10 962人浏览 猪猪侠
摘要

前言 半数机制(Paxos 协议):集群中半数以上机器存活,集群可用。所以ZooKeeper适合装在奇数台机器上。 Zookeeper虽然在配置文件中并没有指定master和slave。但是,zookeeper工作时,是有一个节点为le

Zookeeper选举机制(重点)

前言

半数机制(Paxos 协议):集群中半数以上机器存活,集群可用。所以ZooKeeper适合装在奇数台机器上。

Zookeeper虽然在配置文件中并没有指定master和slave。但是,zookeeper工作时,是有一个节点为leader,其他则为follower,Leader是通过内部的选举机制临时产生的

第一次启动选举机制

假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动,来看看会发生什么。

(1)服务器1启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是LOOKING状态。(由于人都是自私的,机器也一样,所以服务器1先给自己投一个leader票)

(2)服务器2启动,同样,服务器2在启动以后也会先给自己投一票。它与最开始启动的服务器1进行通信,互相交换自己的选举结果,由于两者都没有历史数据,并且server2的id比server1大,所以id较大的服务器2胜出,但是由于没有达到超过半数以上的服务器都同意选举它(这个例子中的半数以上是3),所以服务器1、2还是继续保持LOOKING状态。

(3)服务器3启动,根据前面的理论分析,服务器3成为服务器1、2、3中的老大,而与上面不同的是,此时有三台服务器选举了它,所以它成为了这次选举的leader。

(4)服务器4启动,根据前面的分析,理论上服务器4应该是服务器1、2、3、4中最大的,但是由于前面已经有半数以上的服务器选举了服务器3,所以它只能接收当小弟的命了。

(5)服务器5启动,同4一样当小弟。

这里有几个需要注意的概念:

SID:服务器ID。用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致。

ZXID事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的ZXID值不一定完全一致,这和ZooKeeper服务器对于客户端"更新请求"的处理逻辑有关。

Epoch:每个Leader任期的代号。没有Leader时同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加

非第一次启动选举机制

总的来说,可以将选举机制想象成公司选领导。第一次选领导时,大家的资历、掌握的技术都相同,此时可以将每个人的年龄看做选举条件,谁的年龄大就选谁当领导。经历一段时间之后,这个领导辞职了,没有领导了,这时候又要继续选领导。此时就先看谁之前当过领导,当过领导的直接商人。如果大家都没当过,或者有多个人都当过领导,就看谁平常干的事多,谁的贡献更大就选谁当领导。如果出现相同的情况,就再根据年龄选领导,谁大选谁。

您可能感兴趣的文档:

--结束END--

本文标题: Zookeeper选举机制(重点)

本文链接: https://www.lsjlt.com/news/8682.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Zookeeper选举机制(重点)
    前言 半数机制(Paxos 协议):集群中半数以上机器存活,集群可用。所以zookeeper适合装在奇数台机器上。 Zookeeper虽然在配置文件中并没有指定master和slave。但是,zookeeper工作时,是有一个节点为le...
    99+
    2017-07-10
    Zookeeper选举机制(重点)
  • Zookeeper选举机制(通俗易懂)
    一. zk的选举机制中的概念: SID:服务器ID。用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致。 ZXID:事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的...
    99+
    2023-08-19
    zookeeper 服务器 分布式
  • zookeeper的Leader选举机制是什么
    本篇内容主要讲解“zookeeper的Leader选举机制是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zookeeper的Leader选举机制是什么”吧!zookeeper一个分布式服务...
    99+
    2023-07-05
  • zookeeper的Leader选举机制源码解析
    目录zookeeper01Leader选举机制02Leader选举集群配置03Leader选举流程3.1 Leader选举采用多层队列架构04解析代码入口类05选举流程代码解析06选...
    99+
    2023-05-14
    zookeeper Leader选举 zookeeper 选举机制
  • redis从节点选举机制是什么
    Redis的从节点选举机制是通过主节点选举从节点的方式来实现的。当一个从节点与主节点连接时,它会发送一个SYNC命令来请求复制主节点...
    99+
    2023-09-11
    redis
  • Zookeeper选取机制的示例分析
    小编给大家分享一下Zookeeper选取机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Zookeeper 是一个分布式服务框架,主要是用来解决分布式...
    99+
    2023-06-27
  • 详解redis集群选举机制
    概要 当redis集群的主节点故障时,Sentinel集群将从剩余的从节点中选举一个新的主节点,有以下步骤: 故障节点主观下线 故障节点客观下线 Sentinel集群选...
    99+
    2022-11-12
  • elasticsearch的master选举机制是什么
    Elasticsearch的主节点选举机制是通过Zen Discovery和Unicast Discovery两个插件来实现的。 Z...
    99+
    2023-10-23
    elasticsearch master
  • elasticsearch的zenDiscovery和master选举机制原理分析
    目录前言join的代码findMaster方法总结前言 上一篇通过 ElectMasterService源码,分析了master选举的原理的大部分内容:master候选节点...
    99+
    2022-11-13
  • elasticsearch的灵魂唯一master选举机制原理分析
    master作为cluster的灵魂必须要有,还必须要唯一,否则集群就出大问题了。因此master选举在cluster分析中尤为重要。对于这个问题我将分两篇来分析。第一篇也就是本篇,...
    99+
    2022-11-13
  • 用通俗易懂的方法解释MongoDB的选举机制
    如果主节点宕机或故障了,其他的节点就会选出一个新的主节点。选举的过程可以由任意的非主节点发起,然后根据优先级和Bully算法选举出新的主节点。在选举出主节点之前,整个集群服务是只读的,不能执行写入操作。 非...
    99+
    2022-10-18
  • Java重点:反射机制的使用
    目录 一、概念 二、类类 1、类类的获取方式 1)类名.Class 2)对象.getClass() 3)Class.forName() 三、反射实例化 1、调用一个公有的无参构造方法 2、调用一个公有的一个参构造方法 3、调用一个公有的两...
    99+
    2023-09-12
    java 开发语言 jvm eclipse java-ee
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作