在某些情况下(例如您有一个主服务器和一个辅助服务器,但由于成本限制,禁止添加另一个辅助服务器),您可以选择将仲裁器添加到副本集。一个仲裁器不具有数据集的副本,并不能成为主要的。但是,一名仲裁员参加初选的选举。仲裁员具有确切的1
选举票。
在版本3.6中进行了更改:从MongoDB 3.6开始,仲裁者具有priority 0
。将副本集升级到MongoDB 3.6时,如果现有配置具有优先级1
较高的仲裁程序,则MongoDB 3.6会将仲裁程序重新配置为具有优先级0
。
重要
不要在还承载副本集主要成员或次要成员的系统上运行仲裁程序。
要添加仲裁器,请参见将仲裁器添加到副本集。
majority
和三成员PSA¶对于三成员的主次仲裁器架构*
如果您具有具有主次仲裁器(PSA)体系结构的三成员副本集,或者具有三成员PSA分片的分片群集,则如果任何数据承载节点关闭并且支持"majority"
读取关注,则缓存压力将增加
已启用。
为防止存储高速缓存压力使具有三名成员的主次仲裁器(PSA)架构无法实现部署,您可以从MongoDB 4.0.3(和3.6.1+)开始禁用读取关注“多数”。有关更多信息,请参见 禁用多数阅读关注。
对于以下版本的MongoDB,
与带有仲裁器的副本集相比(在MongoDB 4.0+中不再支持)pv1
,w:1
回滚的可能性增加了pv0
:
请参见副本集协议版本。
当与一起运行时authorization
,仲裁器与集合中的其他成员交换凭据以进行身份验证。MongoDB对身份验证过程进行加密,并且MongoDB身份验证交换是加密安全的。
因为仲裁器不存储数据,所以它们不具有用于身份验证的用户和角色映射的内部表。因此,在授权处于活动状态的情况下登录仲裁器的唯一方法是使用localhost exception。
仲裁员与其他集合成员之间的唯一通信是:选举期间的投票,心跳和配置数据。这些交换未加密。
但是,如果您的MongoDB部署使用TLS / SSL,则MongoDB将加密 副本集成员之间的所有通信。有关更多信息,请参阅 为TLS / SSL配置mongod和mongos。
与所有MongoDB组件一样,在受信任的网络环境中运行仲裁程序。