【问题标题】:what does Zookeeper fault tolerant exactly mean ? simultaneously Or accumulatively?Zookeeper 容错究竟是什么意思?同时还是累积?
【发布时间】:2019-01-20 20:08:21
【问题描述】:

如 ZooKeeper 入门指南 中所述,容错集群设置至少需要三台服务器,强烈建议您使用奇数台服务器。

所以如果我有5台服务器,并且如上所述,当其中2台失败时我仍然可以生存。但这意味着同时或累积??

那么这个怎么样:
5 台服务器 -> 一台失败 -> 4 台服务器 -> 一台失败 -> 3 台服务器 -> 一台失败 -> 2 台服务器 -> 一台失败 -> 死亡

那么3服务器(初始化)和3服务器(从5服务器退化)有什么区别?

【问题讨论】:

    标签: apache-zookeeper fault-tolerance


    【解决方案1】:

    Zookeeper 集群要工作,它需要仲裁。 quorum 是集群中的大多数服务器。

    • 对于 3 节点集群,大多数是 2 个节点。因此,您只能容忍 1 个节点同时不同步。
    • 对于 5 节点集群,大多数是 3 节点。因此,您只能容忍 2 个节点同时不同步。
    • 对于 7 节点集群,大多数是 4 节点。因此,您只能容忍 3 个节点同时不同步。

    同步是什么意思?该节点不是仲裁的一部分,不仅在它不运行时。但也适用于失败后仍在重新加入集群时。

    节点在 Zookeeper 配置中是硬编码的。所以集群中的每个节点都知道它应该是具有 N 个节点的集群的一部分。因此,如果一个 7 节点集群(其中两个节点关闭)突然变成一个 5 节点集群,而另外 2 个节点可能会关闭,那么它就不起作用了。它将始终表现为一个 7 节点集群,除非您更改配置文件,否则只有 3 个节点可以关闭。

    关于偶数和奇数节点的全部内容基本上是关于在维持仲裁的同时可能关闭的节点数。而对于 4 节点集群,大多数将是 3。所以 4 节点集群仍然可以容忍只有 1 个节点宕机。因此,使用与 3 节点集群具有相同容错能力的 4 节点集群没有多大意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 2014-10-29
      • 2016-01-27
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多