MongoDB两个成员副本集

时间:2013-10-07 08:12:40

标签: mongodb sharding replicaset

我有两个成员副本集(在分片群集中),没有仲裁者。我知道推荐的设计是有三个服务器(或奇数),但现在我必须坚持这个设计。

问题是当主服务器关闭时,辅助服务器不会被选为临时主服务器(因为两个服务器的优先级都是1而我没有仲裁服务器。)

有没有办法让自动故障转移(奴隶成为主要 - >主要重新联机 - >默认主要获得以前的状态)?

谢谢!

2 个答案:

答案 0 :(得分:7)

你必须在replicaset中至少有3个成员,有2个成员比只有一个节点更糟糕(从来没有这样做!!)。你的问题比你想象的要糟糕,主要的问题是,如果你的辅助设备发生故障,你的主要设备会降级为辅助设备并且因为你没有更多的辅助设备而有效地降低。我不知道为什么你必须坚持这种配置,但它不能成为一种解决方案。

解决这个问题的方法是创建和arbiter,node,这只是replicaset的一个轻量级成员,它没有实际数据,只是参与选择一个新的主节点,如果其中一个其他成员都倒下了。

答案 1 :(得分:0)

不幸的是,要获得当选的小学,大部分必须在线。

对于所使用的选举过程的类型有一个特定的词,但是从我所看到的MongoDBs文档已经被删除以删除这些根本没有用的信息;事实上,我相信它是http://en.wikipedia.org/wiki/Quorum

50%的成员还不够。