MongoDB 3.0.2 ne démarre pas après la mise à niveau vers Ubuntu 15.10

14

J'ai récemment mis à niveau vers Ubuntu 15.10, après quoi MongoDB 3.0.2 ne démarre pas.

$ sudo service mongod start

ce qui jetterait une erreur:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Kartik
la source

Réponses:

21

C'est juste l'absence d'un fichier de service pour systemd. Pas besoin de revenir au démarrage comme Kartik l'a fait ou d'utiliser un référentiel différent de celui décrit dans https://docs.mongodb.org/manual/installation/ .

Créez un fichier /lib/systemd/system/mongodb.serviceavec le contenu suivant:

[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
sclausen
la source
Voir également la note sur askubuntu.com/a/617869/43344 .
JdeBP
J'ajouterais que vous devez surveiller attentivement la propriété des fichiers du répertoire de données, le verrou tmp fs et le fichier journal. Je déconner essayer d'obtenir ce travail et sudo service...échouais en silence à cause des problèmes d'autorisations
Hotbelgo
4
pour une raison quelconque, le fichier de configuration par défaut est appelé /etc/mongod.confet non/etc/mongodb.conf
mightyuhu
1
@mightyuhu est correct, sans le chemin correct défini, j'obtiens un échec. avec le bon chemin, je ne reçois pas d'échec.
user1063287
2
Merci! C'est la bonne réponse. Une petite chose: le nom du service devrait être mongodparce que c'est ce qu'ils utilisent sur leur site officiel. Il mongodb.confdevrait en être ainsi mongod.conf et le nom du fichier devrait être/lib/systemd/system/mongod.service
caisah
12

Cette erreur s'est produite en raison du problème avec le nouvel Ubuntu (15 et versions ultérieures).

Le système d'initialisation par défaut est systemd qui était Upstart précédemment. Vous devez donc installer Upstart, redémarrer votre système et voilà, vous pouvez maintenant exécuter le service mongodb.

  • Installer Upstart

sudo apt-get install upstart-sysv

  • Redémarrez votre système

sudo service mongod start

mongod start/running, process 3371

Kartik
la source
1
Le nom du service est maintenantmongodb
sowrov
@sowrov, non, le dernier nom du service est toujours 'mongod'
Clay Ferguson
1
après avoir installé upstart-sysv et redémarré mon ubuntu 16.04, il est devenu vierge; J'ai dû aller en récupération et apt-get le supprimer. Ce fil pourrait être utile si vous souhaitez continuer à utiliser upstart askubuntu.com/questions/760615/…
jrgd
5

J'ai utilisé le paquet Debian dans 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
Viktor Kondolovskiy
la source
1

J'ai eu des problèmes similaires après la mise à niveau vers 15.10.

Il pourrait y avoir beaucoup de problèmes, mais en fonction de la cause de votre problème, vous pourrez peut-être exécuter votre mongodb via init.d:

sudo /etc/init.d/mongodb start

Cela a fonctionné pour moi, mais pas une solution à long terme, car vous devez l'exécuter après chaque redémarrage ou l'ajouter à vos tâches de démarrage. J'ai donc suivi ce qui suit:

1) création du fichier de service comme expliqué par 'sclausen'.

2) rechargez le service en exécutant:

sudo systemctl daemon-reload

3) couru sudo service mongodb start

4) La commande s'est exécutée sans sortie. J'ai donc testé en exécutant mongoet obtenu une erreur 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) J'ai parcouru les journaux tail -n 50 /var/log/mongodb/ et découvert l'erreur sous-jacente:

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) supprimé le fichier socket problématique: sudo rm /tmp/mongodb-27017.sock comme suggéré sur ce fil: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) a relancé le service: sudo service mongodb start

à ce moment-là, tout allait bien et Bob est retourné à sa position légitime d'oncle.

Shakus
la source
0

Dans mon cas, j'ai Ubuntu 16.04.1, j'installais MongoDB 3.2.11 et j'obtenais la même erreur. Après plusieurs nettoyages et tentatives, cela a finalement fonctionné en "activant" le service:

systemctl enable mongod.service

Ensuite, cela a juste fonctionné

Luis Lobo Borobia
la source