说明
rs.addArb(host)向现有副本集添加新的仲裁节点。
rs.add(<host>, true)在功能上与rs.addArb(<host>)相同。 您可以交替使用这些命令。警告
请勿在副本集中部署多个仲裁节点。请参阅有关多个仲裁节点的问题。
要将仲裁节点添加到现有副本集:
通常,如果副本集中承载数据的成员少于或等于两个,则可能需要先为副本集设置集群范围的写关注(write concern)。
请参阅集群范围的写关注(write concern),详细了解为什么可能需要设置集群范围的写关注。
在使用具有一个仲裁节点的新副本集之前,您不需要更改集群范围的写关注(write concern)。
The
rs.addArb()method takes the following parameter:Parameter类型说明host字符串
指定要添加到副本集的仲裁节点的主机名和可选端口号。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
IP 绑定
警告
将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅自管理部署的安全清单。至少应考虑启用身份验证和强化网络基础设施。
MongoDB 二进制文件 mongod 和 mongos 默认绑定到本地主机。如果为此二进制文件设置了 net.ipv6 配置文件设置或 --ipv6 命令行选项,则该二进制文件还会绑定到本地主机 IPv6 地址。
By default mongod and mongos that are bound to localhost only accept connections from clients that are running on the same computer. This binding behavior includes mongosh and other members of your replica set or sharded cluster. Remote clients cannot connect to binaries that are bound only to localhost.
要覆盖默认绑定并绑定到其他 IP 地址,请使用 net.bindIp 配置文件设置或 --bind_ip 命令行选项来指定主机名或 IP 地址的列表。
警告
Starting in MongDB 5.0, split horizon DNS nodes that are only configured with an IP address fail startup validation and report an error. See disableSplitHorizonIPCheck.
例如,以下 mongod 实例会绑定到本地主机和主机名 My-Example-Associated-Hostname,而该主机名与 IP 地址 198.51.100.1 相关联:
mongod --bind_ip localhost,My-Example-Associated-Hostname
为了连接到此实例,远程客户端必须指定主机名或其关联的 IP 地址 198.51.100.1:
mongosh --host My-Example-Associated-Hostname mongosh --host 198.51.100.1
重要
要避免因 IP 地址变更而更新配置,请使用 DNS 主机名而非 IP 地址。在配置副本集成员或分片集群成员时,使用 DNS 主机名而非 IP 地址尤为重要。
在水平分割网络配置下,请使用主机名而非 IP 地址来配置集群。从 MongoDB 5.0 开始,仅配置了 IP 地址的节点将无法通过启动验证,因而不会启动。