【发布时间】:2015-11-18 07:24:20
【问题描述】:
我正在尝试了解 Zookeeper 中的分层仲裁。文档here
举了一个例子,但我仍然不确定我理解它。我的问题是,如果我有一个两节点 Zookeeper 集群(我知道不建议这样做,但为了这个例子让我们考虑一下)
server.1 和
server.2,
我可以有如下的分层仲裁:
group.1=1:2
weight.1=2
weight.2=2
如上配置:
即使一个节点出现故障,我仍然有足够的票数 (?) 维持法定人数?这是一个正确的说法吗?
这里的 zookeeper quorum 值是多少(2 - 两个节点或 3 - 4票)
在第二个例子中,假设我有:
group.1=1:2
weight.1=2
weight.2=1
在这种情况下,如果 server.2 出现故障,
- 我是否还有足够的票数 (2) 来维持法定人数?
【问题讨论】:
-
根据我对文档的解释(不是实际代码): 1. 不,quorum 需要多数,即超过总权重的一半; 2. 3+; 3. 是的。
-
谢谢!我是这么认为的,但是文档非常混乱。
-
@SandeepMore the source code comment 更清楚,解释如下:通过这种结构,zookeeper 服务器被分成不相交的组,每个服务器都有一个权重。如果我们在大多数组中获得超过一半的组总权重,我们就获得了法定人数。
标签: apache-zookeeper