it-swarm.com.de

MongoDB - Herunterfahren mit Code: 100

Ich habe versucht, MongoDB auf meinem Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-22-generic x86_64) VPS einzurichten, und ich bin auf ein paar Probleme gestoßen. Ich arbeite als Benutzer auf meinem Server mit root-Zugriff, verwende jedoch nicht das Konto root.

Ich bemerkte das Problem, als ich db.createUser() in der admin-Datenbank ausführte, sodass ich andere Benutzer hinzufügen konnte, und ich erhielt die folgende Fehlermeldung: not authorized to execute command

Ich habe dann mit dem Tutorial auf der Website deinstalliert und erneut installiert: https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

Wenn ich nun auf der Bühne 2 bin, vergewissere dich, dass MongoDB im Abschnitt MongoDB Community Edition erfolgreich gestartet wurde. Das heißt, ich schaue mir meine Ausgabe aus der Datei /var/log/mongodb/mongod.log an und erhalte Folgendes: 

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

Ich habe mich umgesehen und es ist nicht derselbe Fehler wie hier gefunden , weil das damit zu tun hat, dass es keinen /data/db-Ordner gibt, den ich habe. Aus diesem Protokoll kann ich sehen, dass es etwas mit dieser Zeile zu tun hat:

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

Welches ist wahr, wenn ich zu /var/lib/mongodb gehe und ls -l mache, führt das zu:

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

Ich weiß jedoch nicht, ob ich die Datei manuell erstellen soll, da dieses Problem an anderer Stelle nicht aufgetreten ist. Ich habe sichergestellt, dass mongodb Benutzer Berechtigungen für diese Dateien hat, wie angegeben in der Antwort auf diese Frage , aber immer noch kein Glück.

Ich bin wirklich ratlos, was zu tun ist, jede Hilfe wäre sehr dankbar, da dies mein fünfter Versuch ist, sie zum Laufen zu bringen!

Vielen Dank!

4
Alistair Hughes

Dies ist ein bekannter Fehler in MongoDB. Überprüfen Sie den Bericht

Ihr Problem ist nicht, dass Dateien im Allgemeinen fehlen, sondern dass sie beim Neustart nach einem sauberen Herunterfahren verschwinden. Ihr Problem bezieht sich nicht auf das Verzeichnis /data/db, sondern eher auf die Datei WiredTiger.wt, die nach einem Neustart fehlt.

1. Oktober 20:00:44 alpha mongod.27017 [1074]: [initandlisten] WiredTiger (2) [1443729644: 306783] [1074: 0x7fdba8fd4bc0], Datei: WiredTiger.wt, Verbindung: /data/db/WiredTiger.wt: Keine solche Datei oder Verzeichnis

Der Fehlerbericht spricht über dasselbe. 

Versuchen:

Ich würde vorschlagen, WiredTiger in der Konfigurationsdatei zu versuchen und zu deaktivieren. 

MongoDB-Konfigurationsoptionen

WiredTiger

3
Dusty Boshoff

Wenn Sie den mkdir -p /data/db erstellt haben, besteht die Möglichkeit, dass Sie Ihren Server mit dem folgenden Befehl starten müssen: Sudo mongod

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

7
Djamal Dagirov

versuchen :

Sudo-Dienstmongod-Start;

dann laufe die mongodb mit:

mongo

4
M.Amer

Dieser Befehl hat mir geholfen:

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

für mich bestand die "Antwort" darin, den folgenden Befehl auszuführen (da service mongod start und gerade mongod fehlgeschlagen sind)

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

Ich musste den drahtgebundenen Tiger nicht ausschalten

0
user1709076