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

From: Flash Gorman <mike@xxxxxxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Mon, 2 May 2016 03:58:31 -0700 (PDT)
Why ads?
Thank you.

On Sunday, May 1, 2016 at 10:48:56 PM UTC-4, Wan Bachtiar wrote:

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/7044df0f-f74a-406e-8647-6f3c1ba1ba62%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?