mongodb errmsg”:“新配置1中描述的副本集rs0的主机没有Map到此节点”,为什么会收到此消息?

4zcjmb1e  于 2023-03-22  发布在  Go
关注(0)|答案(4)|浏览(217)

我每次执行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”}]}
请帮我解决这个问题。

omvjsjqw

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可以修复它,例如:

127.0.1.1       shortname    shortname.fqdn.com
mzsu5hc0

mzsu5hc02#

端口错误,MongoDB的默认端口是27017,不是27071。

col17t5w

col17t5w3#

如果您正在使用mongo.conf文件,那么首先注解如下“replication”部分,

...
#operationProfiling:

# replication:
#   replSetName: rs0-here

#sharding:
...

现在运行mongod并在mongo终端上配置副本集,如下所示:

rs.initiate({_id: "rs0-here", version: 1, members: [{ _id: 0, host : "your_host:27017" }]})

你也可以在这里创建用户和数据库,然后退出

replication:
   replSetName: rs0-here

再次运行mongod,然后这个问题应该会消失。

waxmsbnn

waxmsbnn4#

我在docker上运行config server replica时,在rs.initiate中遇到了同样的问题。我通过将成员的主机更改为dockerContainerId:dockerContainerPort解决了这个问题。

members: [  
     { _id : 0, host : '983f132bd6ba:27017' },  
     { _id : 1, host : '59c48c934108:27017' },  
     { _id : 2, host : '378e4524b303:27017' }  
]

相关问题