Apache zookeeper Zookeeper容错到底意味着什么?同时还是累积?

Apache zookeeper Zookeeper容错到底意味着什么?同时还是累积?,apache-zookeeper,fault-tolerance,Apache Zookeeper,Fault Tolerance,正如ZooKeeper入门指南中提到的,容错群集设置至少需要三台服务器,强烈建议您使用奇数台服务器 所以,如果我有5台服务器,如上所述,当其中两台服务器出现故障时,我仍然可以生存。但这意味着同时或累计 那么这个怎么样: 5台服务器->故障一台->4台服务器->故障一台->3台服务器->故障一台->2台服务器->故障一台->死亡 3台服务器(初始化)和3台服务器(从5台服务器降级)之间的区别是什么?要让Zookeeper集群工作,它需要仲裁。仲裁是集群中的大多数服务器 对于3节点集群,大多数是2

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

所以,如果我有5台服务器,如上所述,当其中两台服务器出现故障时,我仍然可以生存。但这意味着同时或累计

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


3台服务器(初始化)和3台服务器(从5台服务器降级)之间的区别是什么?

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

  • 对于3节点集群,大多数是2节点。因此,您只能允许一个节点同时不同步
  • 对于5节点集群,大多数是3节点。因此,您只能允许两个节点同时不同步
  • 对于7节点集群,大多数是4节点。因此,您只能容忍3个节点同时不同步
同步意味着什么?该节点不仅在未运行时不是仲裁的一部分。但在发生故障后仍在重新加入群集时也是如此

节点在Zookeeper配置中硬编码。因此集群中的每个节点都知道它应该是具有N个节点的集群的一部分。因此,它的工作方式不是两个节点停机的7节点集群突然变成5节点集群,另外两个节点可以停机。它将始终表现为7节点集群,只有3个节点可以关闭,除非您更改配置文件

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