Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongodb Failed: error connecting to db server: no reachable servers

Tags:

mongodb

I installed mongodb in Ubuntu14.04 server

I was not able to connect to mongodb via "mongoimport", "mongodump", "mongostat", etc. It always show "no reachable server"

mongoimport --db test --collection restaurants --drop --file dataset.json 2015-08-25T13:08:29.802+0800    [........................] test.restaurants 0.0 B/11.3 MB (0.0%) 2015-08-25T13:08:30.306+0800    Failed: error connecting to db server: no reachable servers 2015-08-25T13:08:30.306+0800    imported 0 documents 

Somehow, I was able to connect with mongo shell

mongo --port 27017 MongoDB shell version: 3.0.6 connecting to: 127.0.0.1:27017/test 

At first, I doubt if it cause by my iptables, so I flush all iptables rules and create rules for ALL accept, but it still same

 sudo iptables -S     -P INPUT ACCEPT     -P FORWARD ACCEPT     -P OUTPUT ACCEPT     -A INPUT -j ACCEPT     -A INPUT -i lo -j ACCEPT     -A FORWARD -j ACCEPT     -A OUTPUT -j ACCEPT     -A OUTPUT -o lo -j ACCEPT 

I search the stackOverflow and google and someone told marked off bind_ip or set bind_ip to 0.0.0.0, I tried all but still failed.

Below are my mangodb config, would any one can help me to check? Thanks for your help

james@localhost:~$ cat /etc/mongod.conf  # mongod.conf  # Where to store the data.  # Note: if you run mongodb as a non-root user (recommended) you may # need to create and set permissions for this directory manually, # e.g., if the parent directory isn't mutable by the mongodb user. dbpath=/var/lib/mongodb  #where to log logpath=/var/log/mongodb/mongod.log  logappend=true  port = 27017  # Listen to local interface only. Comment out to listen on all interfaces.  #bind_ip = 127.0.0.1 # Disables write-ahead journaling # nojournal = true  # Enables periodic logging of CPU utilization and I/O wait #cpu = true  # Turn on/off security.  Off is currently the default #noauth = true #auth = true  # Verbose logging output. verbose = true  # Inspect all client data for validity on receipt (useful for # developing drivers) #objcheck = true  # Enable db quota management #quota = true  # Set oplogging level where n is #   0=off (default) #   1=W #   2=R #   3=both #   7=W+some reads #diaglog = 0  # Ignore query hints #nohints = true  # Enable the HTTP interface (Defaults to port 28017). #httpinterface = true  # Turns off server-side scripting.  This will result in greatly limited # functionality #noscripting = true  # Turns off table scans.  Any query that would do a table scan fails. #notablescan = true  # Disable data file preallocation. #noprealloc = true  # Specify .ns file size for new databases. # nssize = <size>  # Replication Options  # in replicated mongo databases, specify the replica set name here #replSet=setname # maximum size in megabytes for replication operation log #oplogSize=1024 # path to a key file storing authentication info for connections # between replica set members #keyFile=/path/to/keyfile 
like image 492
James Chien Avatar asked Aug 25 '15 05:08

James Chien


1 Answers

A temporary workaround is to add the host param to your mongoimport call, letting mongo know that the host is your own machine (127.0.0.1):

mongoimport --host=127.0.0.1 

The full command in your case is then:

mongoimport --host=127.0.0.1 \   --db test --collection restaurants --drop --file dataset.json 

(Source: ranjeetcao @ mongorestore Failed: no reachable servers)


Update:

Updating to Mongo >= 3.0.7 should solve the issue

(Source: Colin Marshall @ mongorestore Failed: no reachable servers)


Update 2:

It seems the Bug is still happening for some users.

There's also an open JIRA issue here.

(Source: James Chien @ this question thread)


Update 3:

In some cases, this can be caused by Mongo running as a ReplicaSet. To solve this, as far as I've seen, one can either disable the ReplicaSet functionality or reset it. See:

  • How to reset MongoDB replica set settings
  • How to convert a MongoDB replica set to a stand alone server

(Source: Maxim Yefremov @ mongorestore Failed: no reachable servers)

like image 123
whythecode Avatar answered Sep 16 '22 11:09

whythecode