Re: Can't connect to mongos after IP address changed

From: Wan Bachtiar <wan.bachtiar@xxxxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Sun, 1 May 2016 19:48:56 -0700 (PDT)
Why ads?


gave mongos the new IP address but it has all sorts of trouble and never 
seems to start listening on port 27030

Hi Flash, 

The issue originates with your replica set config servers 
<https://docs.mongodb.org/manual/core/sharded-cluster-config-servers/#replica-set-config-servers>, 
not your mongos. The log messages show that the config servers has no 
primary:

[replSetDistLockPinger] Failed to connect to 9.80.193.174:27019 after 5000 milliseconds, giving up.
[replSetDistLockPinger] No primary detected for set events
[replSetDistLockPinger] pinging failed for distributed lock pinger :: caused by :: FailedToSatisfyReadPreference: could not find host matching read preference { mode: "primary" } for set events

The config server has a record of the previous IP address as a member of 
the set, which could no longer be reached. You would need to update the 
config server replica set members to point to the new IP address.

So how do I fix mongos configuration when I can’t connect to it?

To update the replica set config server member, connect to the primary of 
the replica set

   1. Connect via mongo shell 
   <https://docs.mongodb.org/manual/mongo/#the-mongo-shell> to the primary 
   of the replica set config server. 
   2. Store the current configuration of the replica set into a variable: configdb_conf 
   = rs.conf() 
   3. Update the IP address of the member (In your case there is only one 
   to update) : configdb_conf.members[0].host = "<new ip>:<port>" 
   4. Apply the update using rs.reconfig() 
   <https://docs.mongodb.org/manual/reference/method/rs.reconfig/> : rs.reconfig(configdb_conf, 
   {force:true}) 
   5. Confirm the status of your replica set config servers with rs.status() 
   <https://docs.mongodb.org/manual/reference/method/rs.status/>. 

See also :

   - Reconfigure a Replica Set with Unavailable Members. 
   <https://docs.mongodb.org/manual/tutorial/reconfigure-replica-set-with-unavailable-members/#reconfigure-by-forcing-the-reconfiguration
   - Change Hostnames in a Replica Set 
   <https://docs.mongodb.org/manual/tutorial/change-hostnames-in-a-replica-set/#change-hostnames-in-a-replica-set

Worth mentioning that for any system that will run in production and 
require minimal interruption, the use of hostnames over IP addresses is 
certainly recommended. As hostnames give you a layer of abstraction when 
your IP addresses change. 

As you are testing a sharded cluster deployment, you may find the following 
useful:

   - Sharded Cluster Deployment 
   <https://docs.mongodb.org/manual/administration/sharded-cluster-deployment/
   - Sharded Cluster Diagnostics 
   <https://docs.mongodb.org/manual/faq/diagnostics/#sharded-cluster-diagnostics

Best regards, 

Wan.


-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.org/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/203eb47f-143b-4d1d-8cc0-98aed980d13e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?