当前位置: 首页 > 知识库问答 >
问题:

ZooKeeper可靠性-三对五节点

包承望
2023-03-14

来自ZooKeeper常见问题解答:

Reliability:

A single ZooKeeper server (standalone) is essentially a coordinator with
no reliability (a single serving node failure brings down the ZK service).

A 3 server ensemble (you need to jump to 3 and not 2 because ZK works
based on simple majority voting) allows for a single server to fail and
the service will still be available.

So if you want reliability go with at least 3. We typically recommend
having 5 servers in "online" production serving environments. This allows
you to take 1 server out of service (say planned maintenance) and still
be able to sustain an unexpected outage of one of the remaining servers
w/o interruption of the service.

对于3服务器集成,如果一台服务器停止轮换,而另一台服务器出现意外停机,那么仍有一台服务器可以确保服务不会中断。那么为什么需要5台服务器呢?或者,考虑的不仅仅是服务中断?

更新:

感谢@sbridges指出这与保持法定人数有关。ZK定义仲裁的方式是ceil(N/2),其中N是集合中的原始数字(而不仅仅是当前可用的集合)。

现在,google搜索ZK quorum可以在HBase book的ZK一章中找到:

在ZooKeeper中,支持偶数个对等点,但通常不使用偶数个对等点,因为偶数大小的合奏与奇数大小的合奏相比,按比例需要更多的对等点来形成仲裁。例如,一个有4个对等点的集成需要3个来形成法定人数,而一个有5个对等点的集成也需要3个来形成法定人数。因此,5的集成允许2个对等方失败并仍保持仲裁,因此比4的集成容错性更强,4的集成只允许1个坏对等方。

爱德华·尹(Edward J. Yoon)博客中对维基百科的转述:

通常,这是预期出席的大多数人,尽管许多机构的法定人数可能较低或较高。

共有2个答案

阎嘉荣
2023-03-14

基本上,只要与失败的动物园管理员相比,活跃的动物园管理员占多数,动物园管理员就可以正常工作。此外,如果法定人数相等,即2,4,6等。失败=活跃,因此不推荐。

3和4都只能处理1个错误,那么为什么我们要用4个动物园管理员而不是3个呢。

竺鸿骞
2023-03-14

动物园管理员要求您有一个服务器的法定人数,其中法定人数是ceil(N/2)。对于3台服务器集成,这意味着必须随时有2台服务器启动,对于5台服务器集成,3台服务器需要随时启动。

 类似资料:
  • 本章节介绍一下 zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的 实例: 已存在 /runoob 节点,再次创建会提示已经存在。 2、创建节点时,必须要带上全路径 实例: 3、session 关闭,临时节点清除 实例: 同时终端二查看该节点: ctrl+c 关闭终端一连接后,查询终端二 /r

  • 可靠性指标 很多领域一般都喜欢谈服务可靠性,用几个 9 来说事。这几个 9 其实是粗略代表了概率意义上系统能提供服务的可靠性指标,最初是电信领域提出的概念。 下表给出不同指标下,每年允许服务出现不可用时间的参考值。 指标 概率可靠性 每年允许不可用时间 典型场景 一个九 90% 1.2 个月 不可用 二个九 99% 3.6 天 普通单点 三个九 99.9% 8.6 小时 普通企业 四个九 99.9

  • 互联网做得太棒了,以至于大多数人将它看作像太平洋这样的自然资源,而不是什么人工产物。上一次出现这种大规模且无差错的技术, 你还记得是什么时候吗? ——阿兰·凯在接受Dobb博士杂志采访时说(2012年) [TOC] 现今很多应用程序都是 数据密集型(data-intensive) 的,而非 计算密集型(compute-intensive) 的。因此CPU很少成为这类应用的瓶颈,更大的问题通常来自数

  • 通过主动构建过程掌控架构 您的软件架构和您所期望的一样吗?当架构落实到代码时,它并不总是 我们曾经互相讨论并预想的那个。在本期的 让开发自动化中,Paul Duvall 将演示如何通过使用 JUnit、JDepend 和 Ant 编写 有关测试来发现架构偏差,从而做到在发生问题之前主动发现问题。 我在曾经从事的很多软件开发项目中观察到,软件开发中一直存在这样一种现象:您实际拥有的架构往往与想象中的

  • 海蓝(navy blue)是最为大众所接受的颜色之一。采用这种颜色的色彩组合可解释成可靠、值得信赖的色彩。这类组合也带有不可置疑的权威感。警官、海军军官或法官都穿着深色、稳定的海军蓝,以便在值勤时表现出统率、支配的权威感。 当海军蓝用红和金色来强调时,会变得较不严肃,但仍表达出坚定、有力量的感觉。 补色色彩组合 原色色彩组合 单色色彩组合 21 65 17 65 33 1 65 67 70 65

  • 我正在使用对象中的函数来获取特定日期时间的Utc偏移值。通常,夏令时会遵循特定的规则,例如“从10月的第一个星期日开始,到4月的第一个星期日结束”(澳大利亚东部标准时间),所以我相信函数产生的结果。 但我确实想知道,如果政府的决定推迟或改变夏令时,结果会怎样?在过去,有几次(澳大利亚)政府违反了某些活动的夏令时规则。在这些情况下,调用是否会产生错误的结果,或者库是否足够聪明,可以“偶尔”从inte