3

我正在尝试用 3 个节点初始化一个副本集。执行时rs.initiate()出现以下错误:“副本集##### 的新配置 1 中未描述主机映射到此节点”

如果我尝试将第一个成员设置为“localhost:27017”,则会收到以下错误:“副本集配置中的所有主机名都必须是 localhost 引用,或者必须没有;找到 2 个中的 1 个”

我应该如何使用我的公共 ip 来启动副本集?

4

2 回答 2

4

您需要做的是在文档中准备要用于副本集的配置(例如config),然后将此文档作为参数传递给rs.initiate(config)方法,如下所示:

config = {
    _id : "your_replica_set_name",
     members : [
         {_id : 0, host : "yourIpAddress:port1"},
         {_id : 1, host : "yourIpAddress:port2"},
         {_id : 2, host : "yourIpAddress:port3", arbiterOnly: true},
     ]
}

rs.initiate(config)

MongoDB中的更多详细信息- replSetInitiate 命令

于 2015-06-17T22:57:29.803 回答
0

您实际上需要将bindIp:指令设置为服务器的 IP 地址。

您可以在下面找到默认配置:

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
于 2017-02-08T16:02:25.530 回答