sudo service mongodb restart da "error de servicio no reconocido" en ubuntu 14.0.4
ubuntu-14.04 (10)
Acabo de instalar mongoDB en ubuntu 14.0.4. Intenté iniciar el shell pero recibí un error de conexión rechazada.
me@medev:/etc/init.d$ mongo
MongoDB shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn''t connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed
Así que decidí intentar reiniciar el servicio, pero eso también está fallando. Aparece el siguiente mensaje de error:
me@medev:/etc/init.d$ sudo service mongodb restart
mongodb: unrecognized service
me@medev:/etc/init.d$
Esto es lo que tengo en mi /var/log/mongodb/mongod.log - http://pastebin.com/MrHt8tce
lo que he intentado hasta ahora:
Encontré otra publicación aquí: no se puede iniciar mongodb como sudo, que hizo un comentario sobre eliminar el archivo de bloqueo de mongo.
Eliminé el archivo de bloqueo y luego reintenté mi comando, pero aún falla como se puede ver a continuación:
me@medev:/var/lib/mongodb$ sudo rm mongod.lock
me@medev:/var/lib/mongodb$ ls
journal local.0 local.ns _tmp
me@medev:/var/lib/mongodb$ sudo service mongodb start
mongodb: unrecognized service
Pero puedo comenzar usando /etc/init.d como puedes ver a continuación:
me@medev:/var/lib/mongodb$ sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
me@medev:/var/lib/mongodb$ ls
journal local.0 local.ns mongod.lock
me@medev:/var/lib/mongodb$ mongo
MongoDB shell version: 2.6.5
connecting to: test
> db
test
>
Cualquier idea sobre por qué no puedo iniciarlo usando el comando de servicio sería apreciada. Por lo que he leído, debería estar usando sudo mongodb servicio
Creo que es posible que hayas instalado la versión de mongodb para la distribución de sistema incorrecta.
Eche un vistazo a cómo instalar mongodb para ubuntu y debian:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/ http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Tuve un problema similar, y lo que sucedió fue que estaba instalando los paquetes de ubuntu en debian
Debe asegurarse de que el archivo (por ejemplo, /etc/init.d/mongodb) tenga permisos de ejecución.
chmod +x /etc/init.d/mongodb
Esta es una solución simple que funcionó para mí con el mismo problema (creo): mv /var/lib/mongodb /var/lib/mongodb_backup mkdir /var/lib/mongodb chmod 700 /var/lib/mongodb chown mongodb:daemon /var/lib/mongodb systemctl restart mongodb or service mongod restart
Fuente original - techrepublic.com/article/…
Si está en Ubuntu 16.04 y enfrenta el error de servicio no reconocido, estas instrucciones lo arreglarán por usted:
- Abra una ventana de terminal.
- Emita el comando
sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927
- Emita el comando
sudo touch /etc/apt/sources.list.d/mongodb-org.list
- Emita el comando
sudo gedit /etc/apt/sources.list.d/mongodb-org.list
- Copie y pegue una de las siguientes líneas de abajo (dependiendo de su versión) en el archivo abierto. Para 12.04:
deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse
Para 14.04:deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse
Para 16.04:deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse
Asegúrese de editar el número de versión con la última versión apropiada y guarde el archivo.
Instalación Abra una ventana de terminal y emita el comando sudo apt-get update && sudo apt-get install -y mongodb-org
Deje que la instalación se complete.
Ejecutando MongoDB Para iniciar la base de datos, sudo service mongodb start
el comando sudo service mongodb start
. Ahora debería poder emitir el comando para ver que MongoDB se está ejecutando: systemctl status mongodb
Solución Ubuntu 16.04 Si está usando Ubuntu 16.04, puede encontrarse con un problema donde se ve el error mongodb: servicio no reconocido debido al cambio de advenedizo a sistemad. Para evitar esto, debes seguir estos pasos.
Si agregó
/etc/apt/sources.list.d/mongodb-org.list
, elimínelo con el comandosudo rm /etc/apt/sources.list.d/mongodb-org.list
Actualiza apt con el comando
sudo apt-get update
Instale la versión oficial de MongoDB desde los repositorios estándar con el comando
sudo apt-get install mongodb
para configurar el servicio correctamente.Elimine lo que acaba de instalar con el comando
sudo apt-get remove mongodb && sudo apt-get autoremove
Ahora siga los pasos 1 a 5 enumerados arriba para instalar MongoDB; esto debería reinstalar la última versión de MongoDB con los servicios systemd ya instalados. Cuando systemctl status mongodb
el comando systemctl status mongodb
, debería ver que el servidor está activo.
Copio en su mayoría pegado lo anterior (con modificaciones menores y correcciones de errores tipográficos) desde aquí - techrepublic.com/article/…
Para debian, del repositorio 10gen, entre 2.4.x y 2.6.x, cambiaron el nombre del script de inicio /etc/init.d/mongodb a /etc/init.d/mongod, y el archivo de configuración predeterminado de / etc / mongodb .conf a /etc/mongod.conf, y el PID y archivos de bloqueo de "mongodb" a "mongod" también. Esto hizo que la actualización fuera un problema, y no lo veo mencionado en sus documentos en ninguna parte. De todos modos, la solución es eliminar las versiones antiguas de "mongodb":
update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf
Ahora, mire y vea qué cambios de configuración necesita conservar y colóquelos en mongod.conf.
Entonces:
rm /etc/mongodb.conf
Ahora usted puede:
service mongod restart
Para mí no sirvió de nada, pero después de consultar con devops con experiencia expiré que terminé con la solución
crea el archivo /lib/systemd/system/mongod.service
con contenido
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
entonces los comandos de inicio / parada deberían funcionar
$ sudo service mongod start
Como referencia, tengo Ubuntu 14.04 LTS, MongoDB 3.2.9 instalado desde
deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
Para mí, la solución fue reemplazar
service mongod start
con
start mongod
Prueba esto:
Escribe mongodb
lugar de mongod
sudo service mongodb status
Recibí el mismo error un día. Debería usar esto:
1. Obtenga el estado de su servicio mongo:
/etc/init.d/mongod status
o
sudo service mongod status
2.Si no ha comenzado, repárelo así:
sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongodb start
Y compruebe nuevamente si el servicio se inicia nuevamente (1)
Solo prueba este comando.
sudo chown mongodb /tmp/mongodb-27017.sock
Y
sudo service mongod restart
puede ayudarte