Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Web Technology by (50.2k points)

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

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

1 Answer

0 votes
by (107k points)
edited by

You have to add syntax to the host param to your mongoimport call. We are doing that because we want the mongo to know that the host is your personal machine. The syntax for performing is given below:

mongoimport --host=127.0.0.1

The full command in your state is as follows:

mongoimport --host=127.0.0.1 \ --db databaseName--collection collectionName --drop --file fileName with extension

Related questions

1.2k questions

2.7k answers

501 comments

693 users

Browse Categories

...