web-dev-qa-db-fra.com

MongoDB - fermeture avec le code: 100

J'ai essayé de configurer MongoDB sur mon VPS Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-22-generic x86_64) et j'ai rencontré quelques problèmes. J'exécute en tant qu'utilisateur sur mon serveur un accès root mais n'utilise pas le compte root lui-même.

J'ai commencé à remarquer le problème lorsque j'exécutais db.createUser() sur la base de données admin afin de pouvoir ajouter d'autres utilisateurs et j'obtenais cette erreur: not authorized to execute command

J'ai donc ensuite procédé à la désinstallation et à l'installation à nouveau à l'aide du didacticiel fourni sur le site Web: https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

Maintenant, lorsque je suis sur la scène 2, vérifiez que MongoDB a démarré avec succès dans la section Exécuter MongoDB Community Edition, c’est-à-dire que j’observe ma sortie du fichier /var/log/mongodb/mongod.log, les éléments suivants sont obtenus: 

2017-04-14T14:23:09.309+0200 I CONTROL  [main] ***** SERVER RESTARTED *****
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] MongoDB starting : pid=9691 port=27017 dbpath=/var/lib/mongodb 64-bit Host=vps338741
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] db version v3.4.3
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] modules: none
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] build environment:
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     distarch: x86_64
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     target_Arch: x86_64
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } }
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] 
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=464M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-04-14T14:23:09.366+0200 E STORAGE  [initandlisten] WiredTiger error (2) [1492172589:366629][9691:0x7f1755946cc0], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.wt: handle-open: open: No such file or directory
2017-04-14T14:23:09.367+0200 I -        [initandlisten] Assertion: 28595:2: No such file or directory src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267
2017-04-14T14:23:09.367+0200 I STORAGE  [initandlisten] exception in initAndListen: 28595 2: No such file or directory, terminating
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-04-14T14:23:09.367+0200 I CONTROL  [initandlisten] now exiting
2017-04-14T14:23:09.367+0200 I CONTROL  [initandlisten] shutting down with code:100

J'ai regardé autour de moi et ce n'est pas la même erreur que celle trouvée ici , car cela est dû au fait qu'il n'y a pas de dossier /data/db que je possède. À partir de ce journal, je peux voir que cela a quelque chose à voir avec cette ligne:

2017-04-14T14:23:09.366+0200 E STORAGE  [initandlisten] WiredTiger error (2) [1492172589:366629][9691:0x7f1755946cc0], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.wt: handle-open: open: No such file or directory

Ce qui est vrai, quand je vais à /var/lib/mongodb et que je fais ls -l, cela résulte avec:

drwxr-xr-x 2 mongodb mongodb 4096 Apr 14 14:10 journal
-rw-r--r-- 1 mongodb mongodb    0 Apr 14 14:02 mongod.lock
-rw-r--r-- 1 mongodb mongodb    0 Apr 14 14:10 WiredTiger
-rw-r--r-- 1 mongodb mongodb   21 Apr 14 14:10 WiredTiger.lock
-rw-r--r-- 1 mongodb mongodb 1004 Apr 14 14:10 WiredTiger.turtle

Mais je ne sais pas si je devrais créer manuellement ce fichier car ce problème n’est pas vu ailleurs. Je me suis assuré que l'utilisateur mongodb dispose également des autorisations requises pour ces fichiers, comme indiqué dans le message dans la réponse à cette question , mais toujours pas de chance.

Je ne sais vraiment pas quoi faire, toute aide serait très appréciée, car c’est ma cinquième tentative pour que cela fonctionne!

Merci!

4
Alistair Hughes

Ceci est un bogue connu dans MongoDB, vérifiez le report

Votre problème n'est pas que les fichiers manquent en général, c'est qu'ils disparaissent lorsque vous redémarrez après un arrêt complet. Votre problème n'est pas lié au répertoire /data/db mais plutôt au fichier WiredTiger.wt qui manque après un redémarrage.

Oct 1 20:00:44 alpha mongod.27017 [1074]: [initandlisten] WiredTiger (2) [1443729644: 306783] [1074: 0x7fdba8fd4bc0], fichier: WiredTiger.wt, connection: /data/db/WiredTiger.wt: Aucun fichier ou répertoire de ce type

Le rapport de bogue parle de la même chose. 

Essayez:

Je suggérerais d'essayer et de désactiver WiredTiger dans le fichier de configuration. 

Options de configuration MongoDB

WiredTiger

3
Dusty Boshoff

Si vous avez créé le mkdir -p /data/db, il est possible que vous deviez démarrer votre serveur avec la commande suivante: Sudo mongod

macOS/OSX: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

7
Djamal Dagirov

essayez:

Sudo service mongod start;

puis lancez le mongodb avec:

mongo

4
M.Amer

Cette commande m'a aidé:

mongod --dbpath /data/db --repair
0
Mariana Lungu

pour moi, la "réponse" était d'exécuter la commande suivante (depuis que service mongod start et que mongod a échoué)

Sudo mongod --fork --port 27017 --replSet admin --logpath /data/log/mongo.log

Je n'avais pas besoin d'éteindre le tigre filaire

0
user1709076