MongoDB solo admite versiones de Ubuntu Long Term Support (LTS). El último es Ubuntu 14.04 LTS, donde el proceso de inicio es administrado por Upstart, propiedad de Canonical. Sin embargo, estoy usando Ubuntu 15.10 con el proceso de inicio SystemD estándar de Linux. Entonces no puedo iniciar el servicio MongoDB en el arranque.
Cuando leo el estado del servicio o intento iniciarlo, muestro el mensaje "no se pudo cargar":
> systemctl status mongod
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
> sudo systemctl start mongod
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Estoy ejecutando la edición oficial de la comunidad MongoDB 3.2 (mongodb-org) desde https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/ no el meta-paquete MongoDB 2.6 (mongodb) de Ubuntu repositorio.
> sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
> echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
> sudo apt-get update
> sudo apt-get install -y mongodb-org
Alguien sabe cómo iniciar MongoDB con SystemD?
Respuestas:
Logré iniciar el servicio MongoDB con SystemD en el arranque:
Desinstalé el metapaquete oficial (mongodb-org) v3.2, luego instalé el metapaquete (mongodb) v2.6 del repositorio de Ubuntu:
Cree el archivo de configuración del servicio como se muestra a continuación:
Verifique en la lista si el servicio está habilitado o deshabilitado con el siguiente comando:
Si está deshabilitado o no en la lista, habilítelo:
Revisar otra vez:
Ahora puede administrar el servicio en el proceso de inicio de SystemD:
¡Disfrutar!
fuente
/lib
./lib
. Las partes de la definición del servicio son lo suficientemente buenas como para iniciar el servicio, las configuraciones adicionales no tienen un efecto significativo, por lo que se consideran complementarias. Si agrega laPIDFile=/var/run/mongodb/mongod.pid
línea y lasrun
instrucciones enExecStart=
línea, obtendrá un error, porque estoy usando el metapaquete 2.6 (mongodb), no el metapaquete 3.2 (mongodb-org).chown
antes de que mongod comenzara a través de systemctl. Nada que los documentos de instalación no me hubieran dicho, pero en caso de que sea útil.En la instalación predeterminada desde el repositorio MongoDB, para tener un inicio automático del servicio mongod , todo lo que necesita hacer es habilitar el servicio system.d:
systemctl enable mongod.service
(preste atención al nombre del servicio mongo d , no mongodb )NOTA: esto se prueba en Debian / GNU Jessie 8.x con systemd y Ubuntu Xerus 16.04 LTS.
fuente
/lib/systemd/system/mongod.service
mi Ubuntu 16.04