复制集仲裁器

在本页面

在某些情况下(例如,您有一个主服务器和一个辅助服务器,但由于成本限制,禁止添加另一个辅助服务器),您可以选择将仲裁器添加到副本集。仲裁人没有数据集副本,也不能成为主要副本。但是,仲裁员参加小学选举。仲裁员的选举权恰好是1

在 3.6 版中进行了更改:从 MongoDB 3.6 开始,仲裁者的优先级为0。将副本集升级到 MongoDB 3.6 时,如果现有配置的仲裁者的优先级为1,则 MongoDB 3.6 会将仲裁器的优先级重新配置为0

Important

不要在还承载副本集主要成员或次要成员的系统上运行仲裁程序。

要添加仲裁器,请参见将仲裁器添加到副本集

Example

例如,在以下具有 2 个数据承载成员(主要和次要成员)的副本集中,仲裁程序使该集合具有奇数票数才能 break 平局:

由主要,次要和仲裁者组成的副本集的示意图。

阅读关注多数和三成员 PSA

For 3-Member Primary-Secondary-Arbiter Architecture*

如果您具有具有主次仲裁器(PSA)体系结构的三成员副本集,或者具有三成员 PSA 分片的分片群集,则如果任何数据承载节点关闭并且支持"majority"读取关注,则缓存压力将增加已启用。

为了防止存储缓存压力使具有三名成员的主从仲裁器(PSA)架构无法实现部署,您可以从 MongoDB 3.6.1 开始禁用读取关注“多数”。有关更多信息,请参见禁用多数阅读关注

副本集协议版本和仲裁程序

对于以下 MongoDB 版本,具有仲裁器的副本集与pv0相比,pv1增加了w:1回滚的可能性:

  • MongoDB 3.4.1

  • MongoDB 3.4.0

  • MongoDB 3.2.11 或更早版本

See 副本集协议版本.

Security

Authentication

authorization一起运行时,仲裁器与集合中的其他成员交换凭据以进行身份验证。 MongoDB 对身份验证过程进行加密,并且 MongoDB 身份验证交换是加密安全的。

由于仲裁器不存储数据,因此它们不具有用于身份验证的用户和角色 Map 的内部表。因此,在激活了授权的情况下登录仲裁者的唯一方法是使用localhost exception

Communication

仲裁员与其他集合成员之间的唯一通信是:选举期间的投票,心跳和配置数据。这些交换未加密。

但是 ,如果您的 MongoDB 部署使用 TLS/SSL,则 MongoDB 将对副本集成员之间的所有通信进行加密。有关更多信息,请参见为 TLS/SSL 配置 mongod 和 mongos

与所有 MongoDB 组件一样,在受信任的网络环境中运行仲裁程序。