web-dev-qa-db-fra.com

sudo service mongodb restart donne "une erreur de service non reconnue" dans Ubuntu 14.0.4

Je viens d’installer mongoDB sur Ubuntu 14.0.4 . J’ai essayé de démarrer Shell mais j’obtiens une erreur de connexion refusée. 

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

J'ai donc décidé d'essayer de redémarrer le service, mais cela échoue aussi. Je reçois le message d'erreur suivant: 

me@medev:/etc/init.d$ Sudo service mongodb restart
mongodb: unrecognized service
me@medev:/etc/init.d$ 

C’est ce que j’ai dans mon /var/log/mongodb/mongod.log - http://Pastebin.com/MrHt8tce

ce que j'ai essayé jusqu'à présent:

J'ai trouvé un autre post ici: ne peut pas commencer mongodb en tant que Sudo Qui a fait un commentaire sur la suppression du fichier de verrouillage mongo. 

J'ai supprimé le fichier de verrouillage, puis j'ai réessayé ma commande, mais elle échoue toujours, comme vous pouvez le voir ci-dessous: 

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

Mais je peux le démarrer en utilisant /etc/init.d comme vous pouvez le voir ci-dessous:

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
> 

Toute idée sur la raison pour laquelle je ne peux pas le démarrer à l'aide de la commande de service serait la bienvenue. D'après ce que j'ai lu, je devrais utiliser le service Sudo mongodb

43
dot

Essaye ça:

Écrivez mongodb au lieu de mongod

Sudo service mongodb status
37
Parvez Hassan

J'ai eu la même erreur un jour Vous devriez utiliser ceci:

1. Obtenez le statut de votre service mongo:

 /etc/init.d/mongod status

ou

 Sudo service mongod status

2.Si ce n'est pas commencé, réparez-le comme ceci:

Sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
Sudo service mongodb start

Et vérifiez à nouveau si le service est redémarré (1)

20
Alex M.

Pour moi, la solution était de remplacer

service mongod start

avec 

start mongod
7
ErichBSchulz

Vous devez vous assurer que le fichier (ex. /Etc/init.d/mongodb) dispose des autorisations d’exécution.

chmod +x /etc/init.d/mongodb
5
cybafelo

Pour debian, à partir du référentiel 10gen, entre les versions 2.4.x et 2.6.x, ils ont renommé le script init /etc/init.d/mongodb en /etc/init.d/mongod et le fichier de configuration par défaut à partir de/etc/mongodb .conf à /etc/mongod.conf, ainsi que le PID et le verrouillage des fichiers de "mongodb" à "mongod" aussi. Cela a rendu la mise à niveau difficile, et je ne le vois pas mentionné dans leur documentation où que ce soit. Quoi qu'il en soit, la solution consiste à supprimer les anciennes versions 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

Maintenant, regardez et voyez quels changements de configuration vous devez conserver, et mettez-les dans mongod.conf.

Ensuite:

rm /etc/mongodb.conf

Maintenant vous pouvez:

service mongod restart
3
Will

Pour moi, rien ne m'a aidé, mais après consultation avec devops mate expirienced mate j'ai terminé avec solution

créer un fichier /lib/systemd/system/mongod.service avec contenu

[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

alors les commandes start/stop devraient fonctionner

$ Sudo service mongod start

Pour référence - J'ai Ubuntu 14.04 LTS, MongoDB 3.2.9 installé à partir de

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
2
Vladyslav Kolesov

Ceci est une solution simple qui a fonctionné pour moi avec le même problème (je pense): 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

0
Juan Antonio

Source originale - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/


Si vous êtes sur Ubuntu 16.04 et faites face à une erreur de service non reconnue, ces instructions vous aideront à le résoudre: -

  1. Ouvrez une fenêtre de terminal.
  2. Émettez la commande Sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927
  3. Émettez la commande Sudo touch /etc/apt/sources.list.d/mongodb-org.list
  4. Émettez la commande Sudo gedit /etc/apt/sources.list.d/mongodb-org.list
  5. Copiez et collez l'une des lignes suivantes depuis le bas (en fonction de votre version) dans le fichier ouvert . Pour 12.04: deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse Pour 14.04: deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse Pour 16.04: deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse

Assurez-vous de modifier le numéro de version avec la dernière version appropriée et enregistrez le fichier.

Installation Ouvrez une fenêtre de terminal et lancez la commande Sudo apt-get update && Sudo apt-get install -y mongodb-org

Laissez l'installation terminée.

Running MongoDB Pour démarrer la base de données, exécutez la commande Sudo service mongodb start. Vous devriez maintenant pouvoir lancer la commande pour voir que MongoDB est en cours d'exécution: systemctl status mongodb

Ubuntu 16.04 solution Si vous utilisez Ubuntu 16.04, vous pouvez rencontrer un problème où vous voyez l'erreur mongodb: service non reconnu en raison du passage de upstart à systemd. Pour résoudre ce problème, vous devez suivre ces étapes.

  • Si vous avez ajouté le /etc/apt/sources.list.d/mongodb-org.list, supprimez-le avec la commande Sudo rm /etc/apt/sources.list.d/mongodb-org.list

  • Mettre à jour apt avec la commande Sudo apt-get update

  • Installez la version officielle de MongoDB à partir des référentiels standard avec la commande Sudo apt-get install mongodb afin que le service soit correctement configuré

  • Supprimez ce que vous venez d'installer avec la commande Sudo apt-get remove mongodb && Sudo apt-get autoremove

Suivez maintenant les étapes 1 à 5 ci-dessus pour installer MongoDB. cela devrait réinstaller la dernière version de MongoDB avec les services systemd déjà en place. Lorsque vous émettez la commande systemctl status mongodb, vous devriez voir que le serveur est actif.


Je copie principalement ce qui est collé ci-dessus (avec quelques modifications mineures et corrections de fautes de frappe) - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/

0
RawCode

Vous pouvez utiliser la commande mongod au lieu de mongodb. Si vous rencontrez un problème avec dbpath dans Mongo, vous pouvez utiliser ma réponse dans le lien ci-dessous.

https://stackoverflow.com/a/53057695/8247133

0
Touseef Murtaza

J'ai installé le serveur Mongo sur Debian Jessie en utilisant manual du site officiel .

Cela n'a pas commencé après la commande recommandée Sudo service mongod restart avec le même error - mongodb: unrecognized service.

Après avoir examiné le contenu du paquet installé, j'ai remarqué qu'il ne contenait que l'unité de service Systemd, mais pas de script d'initialisation SystemV:

# dpkg -L mongodb-org-server
/.
/usr
/usr/bin
/usr/bin/mongod
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/mongodb-org-server
/usr/share/doc
/usr/share/doc/mongodb-org-server
/usr/share/doc/mongodb-org-server/LICENSE-Community.txt
/usr/share/doc/mongodb-org-server/README
/usr/share/doc/mongodb-org-server/copyright
/usr/share/doc/mongodb-org-server/changelog.gz
/usr/share/doc/mongodb-org-server/GNU-AGPL-3.0.gz
/usr/share/doc/mongodb-org-server/THIRD-PARTY-NOTICES.gz
/usr/share/doc/mongodb-org-server/MPL-2.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/mongod.1.gz
/etc
/etc/mongod.conf
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/mongod.service

Mais mon système fonctionnait sous SysV init:

# stat /proc/1/exe
File: '/proc/1/exe' -> '/sbin/init'

Donc, il y a 2 options maintenant:

0
Eugene

Je pense que vous avez peut-être installé la version de mongodb pour la mauvaise distribution système.

Découvrez comment installer mongodb pour Ubuntu et Debian:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/http://docs.mongodb.org/manual/tutorial/install- mongodb -ubuntu/

J'ai eu un problème similaire, et ce qui s'est passé, c'est que j'installais les paquets Ubuntu dans Debian

0
Leonardo Delfino