我正在尝试用 3 个节点初始化一个副本集。执行时rs.initiate()
出现以下错误:“副本集##### 的新配置 1 中未描述主机映射到此节点”
如果我尝试将第一个成员设置为“localhost:27017”,则会收到以下错误:“副本集配置中的所有主机名都必须是 localhost 引用,或者必须没有;找到 2 个中的 1 个”
我应该如何使用我的公共 ip 来启动副本集?
我正在尝试用 3 个节点初始化一个副本集。执行时rs.initiate()
出现以下错误:“副本集##### 的新配置 1 中未描述主机映射到此节点”
如果我尝试将第一个成员设置为“localhost:27017”,则会收到以下错误:“副本集配置中的所有主机名都必须是 localhost 引用,或者必须没有;找到 2 个中的 1 个”
我应该如何使用我的公共 ip 来启动副本集?
您需要做的是在文档中准备要用于副本集的配置(例如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 命令
您实际上需要将bindIp:
指令设置为服务器的 IP 地址。
您可以在下面找到默认配置:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1