GNU/Linux >> Linux Esercitazione >  >> Linux

Il servizio MongoDB non si avvia dopo l'installazione iniziale

Ho passato un po' di tempo a esaminare questo aspetto e sembra che la cartella pid e i permessi dei file non funzionino con il demone predefinito.

La soluzione più semplice che ho trovato è disabilitare il file pid semplicemente mettendo un # davanti alla riga nel file di configurazione.

vi /etc/mongod.conf

trova la riga che dice pidfilepath=/var/run/mongodb/mongod.pid e modificala di conseguenza.

# pidfilepath=/var/run/mongodb/mongod.pid

Per informazioni su cosa commentarlo controlla qui.http://docs.mongodb.org/manual/reference/configuration-options/#processManagement.pidFilePath


Se stai avviando mongod come servizio utilizzando:

sudo service mongod start

Assicurati che le directory definite per logpath, dbpath e pidfilepath nel tuo mongod.conf esistano e siano di proprietà di mongod:mongod.


Ho lo stesso problema, l'ho risolto temporaneamente, disabilitando SELinux, riavviato la macchina, eliminato mongod.lock:

#rm /var/lib/mongo/mongod.lock

Creando il file /var/run/mongodb/mongo.pid (come menzionato nel file di configurazione /etc/mongod.conf):

#mkdir /var/run/mongodb
#touch /var/run/mongodb/mongod.pid

e dando i permessi 777:

#chmod 777 /var/run/mongodb/mongod.pid 

e l'avvio di mongo:

#service mongod start

Ma il problema persiste dopo aver riavviato la macchina. La cartella e il file scompaiono.


Cosa ha funzionato per me su Fedora 20:dobbiamo creare la directory temporanea ad ogni avvio, e questo è gestito da systemd-tmpfiles. Quindi, crea un file /lib/tmpfiles.d/mongodb.conf e mettici una riga:

d /var/run/mongodb 0755 mongod mongod

Sembra gestirlo al riavvio; se non vuoi riavviare subito, puoi eseguirlo con:

sudo systemd-tmpfiles --create mongodb.conf

(Vedi le pagine man per i file systemd-tmp)


Linux
  1. Linux – Modificare /proc/pid/environ dopo l'avvio del processo?

  2. Centos - Systemd uccide il servizio immediatamente dopo l'avvio?

  3. Gimp non si avvia, errore Gegl?

  4. Ubuntu non si avvia dal disco rigido dopo l'installazione?

  5. systemctl:comando non trovato

Servizio MongoDB non in esecuzione in Fedora

Mancato avvio di MongoDB - ***interruzione dopo l'errore di fassert()

Avvia Ubuntu 16.04 nella riga di comando / non avviare la GUI

systemctl arresta il servizio Tomcat immediatamente dopo l'avvio

cambia /proc/PID/environ dopo l'avvio del processo

Upstart :avvia il servizio dopo il processo non upstart