Respuestas:
Es solo la falta de un archivo de servicio para systemd. No es necesario volver al inicio como lo hizo Kartik o usar un repositorio diferente al descrito en https://docs.mongodb.org/manual/installation/ .
Cree un archivo /lib/systemd/system/mongodb.service
con el siguiente contenido:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
sudo service...
estaba fallando silenciosamente debido a problemas de permisos
/etc/mongod.conf
y no/etc/mongodb.conf
mongod
porque esto es lo que usan en su sitio oficial. Así mongodb.conf
debería ser mongod.conf
y el nombre del archivo debería ser/lib/systemd/system/mongod.service
Este error ocurrió debido al problema con el nuevo Ubuntu (15 y más adelante).
El sistema de inicio predeterminado es systemd, que era Upstart anteriormente. Por lo tanto, necesita instalar Upstart, reiniciar su sistema y aquí está, ahora puede ejecutar el servicio mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
Usé el paquete Debian en Ubuntu 15.10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Tuve problemas similares después de actualizar a 15.10.
Puede haber muchos problemas, pero dependiendo de la causa del problema, es posible que su mongodb se ejecute a través de init.d:
sudo /etc/init.d/mongodb start
Eso funcionó para mí, pero no es una solución a largo plazo, ya que debe ejecutarlo después de cada reinicio o agregarlo a sus tareas de inicio. Entonces seguí lo siguiente:
1) crear el archivo de servicio como se explica en 'sclausen'.
2) vuelva a cargar el servicio ejecutando:
sudo systemctl daemon-reload
3) corrió sudo service mongodb start
4) El comando se ejecutó sin salida. Así que probé ejecutando mongo
y obtuve un error de socket:
Error: connect ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)
5) Miré a través de los registros tail -n 50 /var/log/mongodb/
y descubrí el error subyacente:
2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
6) eliminó el archivo de socket problemático: sudo rm /tmp/mongodb-27017.sock
como se sugiere en este hilo: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0
7) volvió a ejecutar el servicio: sudo service mongodb start
en ese momento todo estaba bien y Bob regresó a su posición legítima como mi tío.
En mi caso, tengo Ubuntu 16.04.1, estaba instalando MongoDB 3.2.11 y recibía el mismo error. Después de varias limpiezas y reintentos, finalmente funcionó "habilitando" el servicio:
systemctl enable mongod.service
Entonces simplemente funcionó