Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

errmsg" : "No host described in new configuration 1 for replica set rs0 maps to this node", Why I am getting this message?

I am getting this message every time I do rs.initiate() :

No host described in new configuration 1 for replica set rs0 maps to this node

This is how my /etc/hosts/ file looks on both the replica set servers.

Server 1 and server 2 "hosts" file

127.0.0.1 localhost
aa.bb.cc.dd DataMongo1
ee.ff.gg.hh DataMongo2

Server 1-mongod.conf file

bind-ip aa.bb.cc.dd

Server 2 -mongod.conf file

bind-ip ee.ff.gg.hh

changed server1 hostname to DataMongo1 and server2 to DataMongo2

$hostname DataMongo1

Port 27071 is uncommented on both servers

ReplicaSet config file:

cfg= {
_id:"rs0",
members:[{_id:0,host:"DataMongo1:27071"},{_id:1,host:"DataMongo2:27071"}]}

Please help me with this issue.

like image 814
Shashank Avatar asked Mar 23 '15 13:03

Shashank


3 Answers

I just ran into this issue, and in my case the symptoms were that everything worked correctly, until I rebooted the server.

Then I would get the following error: NodeNotFound: No host described in new configuration $id for replica set $name maps to this node

Just restarting the mongodb daemon fixed it, so it couldn't be a replica set configuration issue.

After checking the logs a bit more in detail, I noticed the following error message: NETWORK [replexec-0] getaddrinfo("$name.emilburzo.com") failed: Temporary failure in name resolution -> bingo

It was trying to query the hostname before the network was fully up, and thus the replica set member didn't know it's own identity

Adding the server's FQDN hostname to /etc/hosts fixed it, e.g.:

127.0.1.1       shortname    shortname.fqdn.com
like image 131
Emil Burzo Avatar answered Nov 02 '22 23:11

Emil Burzo


Looks like the port is wrong. The default port of MongoDB is 27017, not 27071.

like image 2
noam Avatar answered Nov 02 '22 21:11

noam


if you are using mongo.conf file then initially comment "replication" section like below,

...
#operationProfiling:

# replication:
#   replSetName: rs0-here

#sharding:
...

Now run mongod and configure replica set on mongo terminal like below,

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

You can also create users and databases here and then exit out of it. Uncomment the following section in mongo.conf,

 replication:
   replSetName: rs0-here

run mongod again and then this issue should go away.

like image 2
Alish Giri Avatar answered Nov 02 '22 21:11

Alish Giri