Hadoop 2n+;1法定人数意味着什么?

Hadoop 2n+;1法定人数意味着什么?,hadoop,hbase,apache-zookeeper,Hadoop,Hbase,Apache Zookeeper,我在描述HBase的Zookeeper配置时遇到过这个问题,我不熟悉这个术语。“N”是否与我的HBase群集中的节点数有关?或者我应该在Zookeeper集群中使用的节点数?n指的是系统可能遇到的故障数,但至少大多数节点仍能正常工作。两个例子: n=1-在总共2n+1=3个节点中,一个节点可能会出现故障 n=2-在总共2n+1=5个节点中,有两个节点可能出现故障 等等 2f+1是指您需要的可靠性/可用性级别,通常与性能无关 ZooKeeper集成(服务集群)由一个或多个服务器组成,这些服务器对每

我在描述HBase的Zookeeper配置时遇到过这个问题,我不熟悉这个术语。“N”是否与我的HBase群集中的节点数有关?或者我应该在Zookeeper集群中使用的节点数?

n
指的是系统可能遇到的故障数,但至少大多数节点仍能正常工作。两个例子:

n=1
-在总共
2n+1=3个节点中,一个节点可能会出现故障

n=2
-在总共
2n+1=5个节点中,有两个节点可能出现故障


等等

2f+1是指您需要的可靠性/可用性级别,通常与性能无关

ZooKeeper集成(服务集群)由一个或多个服务器组成,这些服务器对每个更改进行“投票”。在接受任何更改之前,大多数原始服务器都需要“批准”任何更改。客户端(本例中为hbase)连接到集成并使用它进行协调。如果集成已启动,则客户端可以执行此操作;如果集成已关闭,则hbase无法使用此服务

假设集合中有3台服务器(f=1),如果其中一台出现故障,则服务仍在运行(2台是多数)。但是,如果第二台服务器出现故障,服务将关闭

假设集合中有5台服务器(f=2)。在这种情况下,两台服务器可能会出现故障(3台是多数),而服务仍在运行

通常3台服务器就足够了。然而,对于在线生产服务环境,我建议5。为什么?假设您关闭1台服务器进行定期维护。如果您有5台服务器,即使剩余的一台活动服务器意外出现故障,您也可以保持运行


那为什么没有101台服务器呢坦斯塔夫。请看这里的图表。ZK是一种基于仲裁的服务。随着服务器数量的增加,写入性能实际上会下降。需要更多的服务器来参与quroum流程(投票)。因此,写入操作数/秒减少。(读取无效)。

为了澄清Chris Bunch的答案,节点是Zookeeper节点,因此2n+1意味着需要2n+1个Zookeepr节点才能在n个失败的Zookeeper节点中生存。