当主人倒下时,动物园管理员怎么办

杰克

标题看起来很傻,但是当主服务器停机时,尽管我阅读了很多有关Zookeeper的文档,但我真的不理解Zookeeper故障转移策略。我的问题如下:

  1. 如果我有三个节点的Zookeeper,则主节点处于关闭状态,那么其余两个节点如何选出新的主节点(现在是偶数节点,它们如何按多数投票)。
  2. 如果其余两个节点之一发生故障,那么最后一个将成为主节点并继续为该服务提供服务,对吗?
  3. 如果偶数的Zookeeper节点都能很好地运行,为什么我必须设置奇数的Zookeeper节点?
皮特
  1. 我认为您误会了我们在这里谈论的大多数。重要的多数不在其余节点中,而是在整个群集中。因此,您需要问的是:“ 2个节点能否在3个节点中占多数”?答案是他们可以,因此他们可以选举领导人。(我不完全知道Zookeeper如何解决领导者投票问题,但重要的是节点的目标不是成为领导者,而是决定一个领导者。要说服您,这可能是一种简单(但缓慢)的方式解决问题的方法:节点随机投票,如果形成多数,则选举该领导者,否则再次投票。)

  2. 不,事实并非如此。由于群集仍配置为三节点群集,因此剩下的一个节点无法形成多数,因此无法选举领导者。这是2节点群集实际上可能比1节点群集更差的原因之一,如果其中一个节点出现故障,群集将停止。

  3. 您不必这样做,它只是建议。拥有奇数的一个很好的理由是,如果您得到一个将您的集群分为相同大小的两个部分的网状分割,则任何一方都不能选举一位领导者。(如果运行的节点数为奇数,这是不可能的。)您也可以将其视为“买一送一”的交易类型,如果您有4个节点,则只有1个可以失败,但是如果得到5个节点就可以2个掉下来。但是,如果您有6个节点,则仍然只有2个节点可以关闭,而群集不会关闭。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

保护动物园管理员,从哪里开始?

如何创建到动物园管理员服务器的连接时指定超时

领导者去世时改变动物园管理员集群的领导

什么是裂脑,当总共三个动物园管理员中的一个动物园管理员服务器发生故障时

Solr Cloud-每个Solr实例建议的动物园管理员数量是多少?

检查动物园管理员运行模式的正确方法

单个动物园管理员集合上的多个 kafka 集群

在 docker swarm 中部署多个动物园管理员

春季整合:无法与动物园管理员进行领导者选举

为什么我们需要 Solrcloud 的外部动物园管理员?

动物园管理员新领导人的选举关闭了Spark Master

如何设置动物园管理员仲裁人数?

动物园管理员是不执行kafka-console-consumer.sh当一个公认的选项

卡夫卡与动物园管理员3.5.7崩溃的NoSuchMethodError:java.nio.ByteBuffer.flip()

如何从完全的动物园管理员损失和新的开始中恢复卡夫卡?

动物园管理员问题-如果领导人被杀,则需要15分钟才能恢复

即使没有动物园管理员,雨云和主管程序也可以运行的Storm示例

如果我希望只有管理员才能单击此按钮,该怎么办

如果我希望用户和管理员登录后显示不同的布局,该怎么办?

Tensorflow模型动物园?

java:地图动物园,选择什么

动物园对象中的dplyr变异

无法建立建于动物园的容器

队列关闭时该怎么办?

UPS过载时该怎么办?

桌面冻结时该怎么办?

当列是数组时,该怎么办?

从动物园对象转换时避免as.data.frame将数据更改为因子

将csv读取为动物园对象时出错-某些行带有“错误条目”