rs.initiate()

在本页面

描述

  • rs. initiate(configuration)

rs.initiate()方法具有以下参数:

参数类型描述
configuration文献可选的。为新副本集指定组态的文档。如果未指定 configuration,MongoDB 将使用默认副本集 configuration。

rs.initiate()方法在replSetInitiate命令周围提供 wrapper。

IP Binding

从 MongoDB 3.6,MongoDB 二进制文件mongodmongos开始,默认情况下绑定到 localhost(127.0.0.1)。如果为二进制文件设置了net.ipv6 configuration 文件设置或--ipv6 command line 选项,则二进制文件还会绑定到 IPv6 地址::1

以前,从 MongoDB 2.6 开始,只有官方 MongoDB RPM(Red Hat,CentOS,Fedora Linux 和衍生产品)和 DEB(Debian,Ubuntu 及衍生产品)包中的二进制文件默认绑定到 localhost。

仅绑定到 localhost 时,这些 MongoDB 3.6 二进制文件只能接受来自 clients(包括mongo shell,部署中的其他成员,用于副本_set 和分片群集)的连接,这些连接在同一台计算机上运行。 Remote clients 无法连接到仅绑定到 localhost 的二进制文件。

要覆盖并绑定到其他 IP 地址,可以使用net.bindIp configuration 文件设置或--bind_ip command-line 选项指定 IP 地址列表。

警告 在绑定到 non-localhost(e.g. 可公开访问的)IP 地址之前,请确保已保护 cluster 免受未经授权的访问。有关安全建议的完整列表,请参阅安全检查表。至少要考虑启用身份验证加强网络基础设施

对于 example,以下mongod实例绑定 localhost 和 sample ip 地址198.51.100.1

mongod --bind_ip localhost,198.51.100.1

在 order 中连接到此实例,remote clients 必须指定 IP 地址198.51.100.1或与 ip 地址关联的主机名:

mongo --host 198.51.100.1

mongo --host My-Example-Associated-Hostname

副本集 Configuration

有关副本集 configuration 文档的详细信息,请参阅副本集 Configuration Document Example

以下 example 启动具有三个成员的新副本集。

这三个mongod实例必须以--replSet命令 line 选项(或replication.replSetName,如果使用 configuration 文件)设置为myReplSet并且--bind_ip(或net.bindIp,如果使用 configuration 文件)设置为适当设置,以便副本集的其他成员和 clients 可以连接。

警告 在绑定到 non-localhost(e.g. 可公开访问的)IP 地址之前,请确保已保护 cluster 免受未经授权的访问。有关安全建议的完整列表,请参阅安全检查表。至少要考虑启用身份验证加强网络基础设施

mongo shell 连接到其中一个mongod实例和 run rs.initiate()

注意 Run rs.initiate()只有一个且只有一个mongod实例用于副本集。

rs.initiate(
   {
      _id: "myReplSet",
      version: 1,
      members: [
         { _id: 0, host : "mongodb0.example.net:27017" },
         { _id: 1, host : "mongodb1.example.net:27017" },
         { _id: 2, host : "mongodb2.example.net:27017" }
      ]
   }
)

有关副本集 configuration 的详细信息,请参阅副本集 Configuration 字段

有关部署副本集的详细信息,请参阅部署副本集

也可以看看 会员 Configuration 教程