tutorial español mongodb

español - mongodb Falló: error al conectarse al servidor db: no hay servidores accesibles



mongodb español (6)

Comando completo:

mongoimport --host=127.0.0.1 -d testdb -c testc --file test.txt

Instalé mongodb en el servidor Ubuntu14.04

No pude conectarme a mongodb a través de "mongoimport", "mongodump", "mongostat", etc. Siempre muestra "sin servidor accesible"

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

De alguna manera, pude conectarme con Mongo Shell

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

Al principio, dudo si es causado por mis iptables, por lo que elimino todas las reglas de iptables y creo reglas para TODAS las aceptadas, pero aún así

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

Busco en el stackOverflow y en google y alguien dijo que marcó bind_ip o configuró bind_ip en 0.0.0.0, probé todo pero fallé.

A continuación se muestra mi configuración de mangodb, ¿alguien podría ayudarme a verificar? Gracias por tu ayuda

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


Encuentro la respuesta en estos enlaces here Parece que es un error de herramientas mongodb que aún no se ha resuelto. ¿No está seguro si alguien sabe si las últimas herramientas han solucionado el problema?

Por cierto, desinstalo mongodb-tools 3.xy reinstalo a 2.6.0 que resolvió el problema

sudo apt-get purge mongodb-org-tools echo ''deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen'' | sudo tee /etc/apt/sources.list.d/mongodb.list sudo apt-get update sudo apt-get install -y mongodb-org-tools=2.6.0 mongoimport --db test --collection restaurants --drop --file dataset.json connected to: 127.0.0.1 2015-08-25T15:19:59.494+0800 dropping: test.restaurants 2015-08-25T15:20:00.089+0800 check 9 25359 2015-08-25T15:20:00.089+0800 imported 25359 objects


Para proporcionar las opciones host y puerto

mongoimport --host X.X.X.X --port 27017 --db dbName --collection collectionName --file fileName.json --jsonArray


Si ha instalado mongodb a través de homebrew, simplemente puede iniciar mongodb a través de

brew services start mongodb

Luego acceda al shell por

mongo

Puedes apagar tu DB por

brew services stop mongodb

Para más opciones

brew info mongodb


Una solución temporal es agregar el mongoimport host a su llamada mongoimport , para que Mongo sepa que el host es su propia máquina ( 127.0.0.1 ):

mongoimport --host=127.0.0.1

El comando completo en su caso es entonces:

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

(Fuente: ranjeetcao @ mongorestore Falló: no hay servidores accesibles )

Actualizar:

Actualizar a Mongo> = 3.0.7 debería resolver el problema

(Fuente: Colin Marshall @ mongorestore Falló: no hay servidores accesibles )

Actualización 2:

Parece que el error sigue ocurriendo para algunos usuarios .

También hay un problema abierto de JIRA here .

(Fuente: James Chien @ este hilo de preguntas )

Actualización 3:

En algunos casos, esto puede ser causado por Mongo ejecutándose como un ReplicaSet. Para resolver esto, por lo que he visto, uno puede deshabilitar la funcionalidad ReplicaSet o restablecerla. Ver:

(Fuente: Maxim Yefremov @ mongorestore Falló: no hay servidores accesibles )


mongorestore --db <thedb> --host=127.0.0.1 --port=<port> --drop path/db