【问题标题】:Hidden replica set do not take part in election隐藏副本集不参与选举
【发布时间】:2013-12-01 11:49:55
【问题描述】:

我有一个三台服务器和一台备份服务器的副本集,备份服务器制作完成

"hidden"=true and "priority"=0`

我担心的是,当我的辅助服务器和备份服务器之一启动时,我的辅助服务器不会变为主服务器,这意味着隐藏服务器没有参与选举,但根据 mongo 文档,它不能成为主服务器,而是需要参与选举。他们是否需要一些额外的配置才能这样做?

【问题讨论】:

    标签: mongodb mongoose mongoid mongo-java mongojs


    【解决方案1】:

    如果无法连接到大多数副本集成员,则副本集成员无法成为主要成员。如果副本集中有四个成员,则需要能够与三个成员通信,如果只有两个成员,显然是不可能的。如果你真的想要这样的配置,你应该将仲裁器添加到副本集。

    一般来说,您应该避免副本集中的成员数量为偶数。

    【讨论】:

    • @zeroes 我的一台服务器是优先级为0的备份服务器,不参与选举吗?如果答案是否定的,那么他们的方法是我可以获得任意和备份的组合吗?
    • 它参加了选举,但四分之二不是多数。您需要 4 个中的 3 个来选举新的主节点。您可以使用arbiterOnly: true 选项添加另一个rs 成员。它不会存储数据,但会参与选举,并在 2 个节点关闭时让您有机会获得多数。顺便说一句,当坐在“备份”时很难说出你的意思。 rs 中的每个非仲裁器都用作备份。通常隐藏成员可用于繁重的 BI 任务或回滚(slaveDelay)。
    • 如果你只使用隐藏成员作为备份,你可以使用MMS Backup service
    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2022-06-30
    • 2013-09-01
    • 2017-02-01
    • 1970-01-01
    相关资源
    最近更新 更多