如果 arbiter 宕机了怎么办?

What if arbiter goes down?

我将设置一个 mongodb 副本集,其中包含主节点、从节点和仲裁节点。我想知道如果仲裁节点出现故障会发生什么?也许有人有过这样的经历。

如果只有仲裁器出现故障,您仍然有两个节点(主要节点和次要节点)可以与 each-other 通信(它们占多数:2/3)。这样就好了。能够处理 one-node 失败正是您拥有仲裁者的原因。

没有仲裁器,如果一个节点出现故障,另一个节点无法确定它是否应该升级成为主节点,因为它不知道无法访问故障节点是因为它已关闭还是因为网络问题。

有了仲裁器,如果三个节点中的任何一个出现故障,剩下的两个节点可以找出应该发生的事情。

你也可以有两个辅助而不是额外的仲裁器。重要的是节点数至少为三个。但是辅助服务器比 运行 昂贵得多(它维护数据库的完整副本,而仲裁器没有数据)。

只要确保在下一个问题发生之前将仲裁器重新启动即可。