我在生产环境中设置了以下内容,
3个节点,1个主节点和2个辅助节点......
我开始了解仲裁者,因为mongo db本身在replicaset中完成了选举工作。 mongo复制中仲裁者的需求是什么?
在哪种情况下,仲裁器会有用吗?
此致 哈利
答案 0 :(得分:1)
Arbiter的目的是在需要为小学选举进行选举时打破僵局。因此,有一个多数的节点可以决定选择哪个节点。
在当前配置中,您有一个奇数个节点,因此当所有节点都启动时,选举过程很简单,而在故障转移中,其他节点中的一个将被简单地选出。
如果副本集中的节点数甚至,则可能需要使用Arbiter,如果您不想提交相同级别的硬件,请说明< em>五个节点 *副本集。在这里,您可以在较低规格的机器上使用仲裁器,以避免选举陷入僵局。
如果要优先选择某些节点作为主节点,则仲裁器也很有用。
文档中的大量信息:
答案 1 :(得分:0)
仲裁器使MongoDB能够跨分区装饰大部分资产,而无需数据保留节点。
这一切都源于CAP定理:http://en.wikipedia.org/wiki/CAP_theorem并且基本上它允许一方进行多数投票,因为这样可以阻止集群内各个分区的陈旧配偶选举。
当然,如果你想要4个数据保持节点而1个不是,那么Arbiters也只能在一边使用。
答案 2 :(得分:0)
除了在选举期间打破关系外,仲裁者不会保留数据。仲裁器是轻量级的,可以与其他进程一起运行。由于它不参与复制/服务查询,因此它不会占用太多CPU /内存。仲裁器具有最低的资源要求,不需要专用硬件。