gpt4 book ai didi

mongodb - 没有仲裁器的两个节点 MongoDB 副本集

转载 作者:IT老高 更新时间:2023-10-28 13:15:07 24 4
gpt4 key购买 nike

是否可以创建一个仅包含 1 个主要成员和 1 个辅助成员的 MongoDB 副本集?我想要延迟副本集,它将延迟 24 小时从主副本复制数据。我知道我可以将仲裁器放在其中一台服务器上(主服务器或辅助服务器,我知道不建议这样做,但我唯一的愿望是在两台服务器上运行此配置)并且它会运行良好,但我想知道它是否可能彻底踢出仲裁者。它看起来像这样: Two nodes replica set without arbiter

最佳答案

简短回答:不要。

长答案:自动故障转移在 MongoDB 中的工作方式是副本集需要合格多数才能成功选择新的主节点。延迟的成员在选举中确实有投票权。因此,如果 其中一个 节点出现故障,则副本集会发现它没有这个多数,并且当前的主节点即使没有失败也会退出。因此,您实际上所做的就是 加倍 使您的副本集失败的机会。当使用 --smallfiles --no-journal --noprealloc 或配置文件中设置的等效选项运行时,仲裁程序在 RAM 使用、CPU 甚至磁盘空间方面是一个非常便宜的进程。请注意,上述选项可以安全使用,因为仲裁器本质上只检查数据承载节点的心跳。例如,您可以将仲裁器放在应用程序服务器上。

免责声明:强烈建议不要使用以下程序。风险自负。

你可以将延迟服务器的投票设置为0。这样未延迟的节点会在延迟成员失败的情况下进行选举,得出的结论是它是副本集唯一在线的节点并且它拥有多数票(1/1)并将继续按预期工作。此操作过程需要注意,因为如果您稍后将成员添加到副本集并需要重新配置副本集,您将再次获得偶数票。它还对网络碎片问题产生了严重影响。再次重申:使用风险自负

关于mongodb - 没有仲裁器的两个节点 MongoDB 副本集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com