2016-08-08 37 views
3

Ich habe erfolgreich erstellt eine Replikat-Gruppe von drei Instanzen auf Mongodb. Jedes Mitglied des Replikatsatzes wird mithilfe einer Konfigurationsdatei instanziiert. Als ich es getestet habe, lief alles gut und wurde erfolgreich ohne Fehler ausgeführt.Mongo: Fehler: Kind-Prozess fehlgeschlagen, mit Fehlernummer 100

Der nächste Schritt, der den Fehler im Titel generiert, ist die Aktivierung der internen Authentifizierung. Um das zu tun, worauf ich die Mongo Dokumentation auf dieser Seite gefunden:

[a] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/

Zuerst erzeugen ich ein Keyfile mit den beiden Codezeilen unter

openssl rand -base64 755 > <path-to-keyfile> 
chmod 400 <path-to-keyfile> 

I couldn Führe die Zeilen nicht aus, ohne root zu sein, also habe ich es mit root gemacht.

dann habe ich die Schlüsseldatei in der Konfigurationsdatei der Instanz hinzugefügt.

# Where and how to store data. 
storage: 
    dbPath: /mon/data1/ 
journal: 
    enabled: true 
#engine: 
#mmapv1: 
#wiredTiger: 

#where to write logging data. 
systemLog: 
    destination: file 
    logAppend: true 
    path: /var/log/mongodb/mongod1.log 

#network interfaces 
net: 
    port: 27018 
    bindIp: 127.0.0.1 

processManagement: 
    fork: true 

security: 
    keyFile: /etc/keyFiles 

replication: 
    replSetName: "myRepl" 

Um nun wieder Mongo zu starten, schrieb ich den folgenden Befehl ein, die ich jedes Mal verwenden

sudo mongod --config /etc/mongod1.config 

und ich habe über die Fehler. Ich stellte sicher, dass alles im Besitz von Root war. der DB-Pfad, die Konfigurationsdatei und die Schlüsseldatei.

Dann wechselte ich alles, um von einem regelmäßigen Benutzer gehört zu werden, und ich versuchte, mongod als ein normaler Benutzer (ohne sudo) zu starten. Ich habe denselben Fehler erhalten.

Was denken Sie ist die Lösung?

+0

können Sie Ihr Mongo log posten? – sergiuz

+0

Bitte werfen Sie einen Blick auf die Mongod-Log-Datei und fügen Sie Ihrem Beitrag relevante Nachrichten hinzu. – helmy

Antwort

0

Normalerweise Protokolldatei sagt, was falsch ist ... Aber Sie könnten versuchen, einige Änderungen vorzunehmen. Put "" runde Schnur (wie hier unten) und fügen Sie pidFilePath:

Prozessmanagement: Gabel: true pidFilePath: "/var/run/mongodb/mongod.pid"

(natürlich, dass ‚monogdb 'Verzeichnis muss mit dem Benutzer Eigentum sein, was Sie mit laufenden mongod verwenden)

Dann eine gute Möglichkeit, Dinge zu testen ist diese Konfigurationsdatei Werte als Parameter (und keine --gabel), auf diese Weise erhalten Sie Fehlermeldung zurück, was sagen was ging schief.

mongod --dbpath/mon/data1/--logpath /var/log/mongodb/mongod1.log --logappend --keyFile/etc/Keyfiles --replSet myRepl