【问题标题】:how does zookeeper do when the master down当master宕机时zookeeper怎么办
【发布时间】:2016-02-19 02:25:36
【问题描述】:

这个标题可能看起来很傻,但是我真的无法理解当master宕机时的zookeeper故障转移策略,尽管我阅读了很多关于Zookeeper的文档。我的问题如下:

  1. 如果我有三个节点的zookeeper,那么master宕机了,怎么办 剩下的两个节点选举新的主节点(现在是一个偶数 节点数量,它们如何以多数票投票)。
  2. 如果剩下的一个 两个节点宕机,那么最后一个节点将成为主节点并不断 请提供服务,好吗?
  3. 如果偶数个zookeeper节点可以 运行得很好,为什么我要设置奇数个 Zookeeper 节点?

【问题讨论】:

    标签: apache-zookeeper


    【解决方案1】:
    1. 我认为您误解了我们在这里谈论的多数。重要的多数不在剩余节点中,而是在整个集群中。所以你需要问的是:'2个节点可以在3个节点中占多数'吗?答案是他们可以,因此他们可以选举领导者。 (我不知道 Zookeeper 是如何解决领导者投票的,但重要的是节点的目标不是成为领导者,而是决定一个领导者。为了说服你,这里有一种可能很简单(但速度很慢)的方法解决问题的方法:节点随机投票,如果他们已经形成多数,他们会选举那个领导者,否则他们会再次投票。)

    2. 不,不会这样。 由于集群仍然围绕 3 节点集群进行配置,剩下的一个节点不能形成多数,因此不能选举领导者。 这就是为什么 2 节点集群实际上可能比 1 节点集群更糟糕的原因之一,如果其中一个节点出现故障,集群停止。

    3. 您不必这样做,只是推荐。有一个奇数的一个很好的理由是,如果你得到一个网络分裂,将你的集群分成两个相同大小的部分,任何一方都不能选举领导者。 (如果您运行奇数个节点,这是不可能的。) 您也可以将其视为买一送一的交易类型,如果您有 4 个节点,则只有 1 个节点可以宕机,但如果您有 5 个节点,则 2 个节点宕机是可以的。但是如果你有 6 个节点,那么仍然只有 2 个节点可以在集群不宕机的情况下宕机。

    【讨论】:

      猜你喜欢
      • 2020-10-08
      • 1970-01-01
      • 2013-02-20
      • 2012-08-11
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      相关资源
      最近更新 更多