8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

Zookeeper集群节点数量为什么要是奇数个?

来源:本站原创 浏览:70次 时间:2022-10-03

在工作中,经常会用到zookeeper,当然跟它的功能离不开,无论是搭建大数据中间件kafka,hbase等还是开发流程引擎做备份选举。而考虑到zookeeper的时候,不得不说一下搭建集群时为神马要做到用奇数个节点。原先接触的不多,只需要知道这个事情就好,今天好奇研究了一下。


首先需要明确zookeeper选举的规则:leader选举,要求 可用节点数量 > 总节点数量/2  。注意 是 > , 不是 ≥。


选举的时候如果我们使用偶数个节点,很容易出现脑裂的现象。那什么是脑裂呢。简单来说一个系统只有一个功能,如果被人给横切了,不偏不倚正好分成两个,而在使用的时候又不知道所以造成连个脑残系统争相使用技能完成使命。这样就会造成对共享资源的抢夺。最后会发现两个系统都起来了或者是都失败了,都失败还好说,直接报警处理,如果都起来了就会产生多读多存的现象。


这样我们举个例子:生产环境有一个hbase集群,含有6个节点,有一天我发现生产环境mysql的数据格式单一,而且关系比较简单,查询条件基本上都是用主键来做的,那这种数据就很符合nosql数据库的胃口了。我们先给每个节点起一个名字:路人甲,路人乙,路人丙,路人丁,路人戊,路人戌。


这六个哥们呢关系比较好都是好朋友,彼此都加着微信,而且呢有什么事情都是通过微信来通知的,比如他们要出去郊游,就会安排路人甲开车,路人乙带喝的,路人丙带吃的等等。跟现实生活中一样,这六个人都有关系近和稍微远的,就发现:路人甲,路人乙,路人丙都互相保留了电话,而其他三人都存有互相的qq。这天六人想一起聚餐,都想吃鸡腿,而且几个人都很善良。约好吃饭的时间地点之后,发现微信宕了。没办法路人甲就联系乙和丙,发现自己能联系上的人比较多,即便是那三个人都联系上了也没有超过自己这半,就像我们这边都把 东西准备了吧,而恰恰那三个人也是这么想的同时也把东西都准备了一遍,这样就造成了数据冗余。


或者,路人甲看了下自己这边三个人,偷个懒吧,他们那边也有三个人还是让对过来准备吧,然后对过三个人也是这样考虑的,到了一起后发现大家都没带东西,得,大家都没得吃了,这就是数据存储失败最后只好告诉程序猿大大,求抱抱了。


正常情况下,六人的小团队还需要再吸纳一个人进来,或者踢出一个去。

比如出现上边的情况,微信宕机了。如果某个人发现自己能联系上的人超过一半以上,就告诉几人咱们准备食材吧,而另一边没有超过一半的就好好睡一觉,等吃就好了。虽然第一个团队会累一点,但至少大家有的吃。如果发现每个团队都没有超过一半,那就都不做好了,反正两三个人做一个团队的本来就负载不了。。


总是感觉上边的故事有点冗余,其实事情很好理解:

a1,a2,a3,b1,b2,b3,b4

如果a1挂了,还有6个可用,如果3个挂了还有四个可用,如果四个挂了就报警吧,都不可用,当然也有可能会出现网络隔离的情况:

a系的能联系上,b系的能联系上,那就b的工作吧,a的放假

相当于大家制定一个规则,好好干,有饭吃


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net