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