我每次执行rs.initiate()
时都会收到此消息:
副本集rs 0的新配置1中描述的主机均未Map到此节点
这就是我的 /etc/hosts/ 文件在两个副本集服务器上的外观。
服务器1和服务器2“主机”文件
127.0.0.1 主机
aa.bb.cc.dd DataMongo1
ee.ff.gg.hh DataMongo2
服务器1-mongod.conf文件
绑定-IP aa.bb.cc.dd
服务器2 -mongod.conf文件
bind-ip ee.ff.gg.hh
将server 1主机名更改为DataMongo 1,将server 2主机名更改为DataMongo 2
$hostname DataMongo1
端口27071在两个服务器上都未注解
ReplicaSet配置文件:
配置文件= {
_id:“rs0”,
[{_id:0,host:“DataMongo1:27071”},{_id:1,host:“DataMongo2:27071”}]}
请帮我解决这个问题。
4条答案
按热度按时间omvjsjqw1#
我刚刚遇到了这个问题,在我的情况下,症状是一切正常工作,直到我重新启动服务器。
然后我会得到以下错误:
NodeNotFound: No host described in new configuration $id for replica set $name maps to this node
重新启动mongodb守护进程就可以修复它,所以它不可能是副本集配置问题。
在更详细地检查日志后,我注意到以下错误消息:
NETWORK [replexec-0] getaddrinfo("$name.emilburzo.com") failed: Temporary failure in name resolution
-〉宾果游戏它试图在网络完全启动之前查询主机名,因此复制集成员不知道它自己的标识
将服务器的FQDN主机名添加到
/etc/hosts
可以修复它,例如:mzsu5hc02#
端口错误,MongoDB的默认端口是27017,不是27071。
col17t5w3#
如果您正在使用mongo.conf文件,那么首先注解如下“replication”部分,
现在运行mongod并在mongo终端上配置副本集,如下所示:
你也可以在这里创建用户和数据库,然后退出
再次运行mongod,然后这个问题应该会消失。
waxmsbnn4#
我在docker上运行config server replica时,在
rs.initiate
中遇到了同样的问题。我通过将成员的主机更改为dockerContainerId:dockerContainerPort
解决了这个问题。