如何在不使用localhost的情况下启动副本集?

时间:2015-06-17 16:19:16

标签: mongodb replicaset

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

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

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

2 个答案:

答案 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)

MongoDB - replSetInitiate command

中的更多详情

答案 1 :(得分:0)

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

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

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
相关问题