Ich möchte mongoDB als Dienst ausführen. Die Instanz soll als ein Einzelknoten-Replikat konfiguriert werden, um eine ElasticSearch-Instanz mit einem the connector verbinden zu können.Kann mongoDB nicht als Dienst starten
So dehnte ich die mongod.conf:
...
replication:
replSetName: "singleNodeRepl"
...
ich verschiedene Arten versucht nun die mongod zu starten, aber nichts funktioniert.
Wenn ich versuche, den Dienst von $ service mongod start
zu starten, wird folgende Fehlermeldung ausgegeben:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.106" (uid=1225 pid=26018 comm="start mongod ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Wenn ich diesen Befehl als sudo
ausführen, seine „running“ und folgende (was nicht empfohlene Vorgehensweise, nicht wahr?) Nachricht wird angezeigt:
mongod start/running, process 26034
Aber Prozess 26034 nicht existiert und ps aux | grep mongo
zeigt auch nichts ?!
Nächster Versuch: Führen Sie es als eine normale Anwendung
mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
Hier folgende Ausnahme angezeigt:
2016-04-08T14:31:35.192+0200 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-04-08T14:31:35.192+0200 I CONTROL [initandlisten] dbexit: rc: 100
Alles ist in Ordnung, wenn ich ~$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
laufen, aber das ist nicht mein Ziel: Es ist nicht läuft als ein Dienst und seine Ausführung als root.
Das Mongod-Logfile bleibt oft unberührt. Aber die letzten Zeilen sind neugierig:
2016-04-08T14:24:56.242+0200 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-04-08T14:24:56.242+0200 I - [initandlisten] Fatal Assertion 28578
2016-04-08T14:24:56.242+0200 I - [initandlisten]
***aborting after fassert() failure
A mongodb-27017.sock existiert, aber das Löschen (was überall vorgeschlagen) half nicht.
Basierend auf den oben genannten Fehler tried serveral solutions, aber nichts hilft.
Ich denke, es ist ein sehr einfacher Fehler ... aber welcher?
[edit:] Ich entdeckte, dass ich vielleicht den Config-Speicherort hätte angeben sollen. So ist der (Arbeits aber schlecht) Befehl wie folgt aussieht:
$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl --config /etc/mongod.conf
Die folgenden Fehler bringt:
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
Das ist eine alte Sache, die die Lösung für this problem war und plötzlich nicht mehr funktioniert !?
In den Protokollen ist mir aufgefallen, dass eine Sperrdatei nicht erstellt oder geöffnet werden konnte. Könnte es ein Benutzerberechtigungsproblem sein? Was sind die Berechtigungen für das ''/var/lib/mongodb/''? –
'rwxr-xr-x 4 mongodb mongodb 4096 Apr 8 14:31 mongodb' – MUmla
Haben Sie versucht, die .sock- und .lock-Datei zu löschen? –