GNU/Linux >> Linux Esercitazione >  >> Linux

Perché ottenere l'errore mongod morto ma i sottosistemi bloccati e lo spazio libero insufficiente per i file journal su Linux?

Puoi aggiungere quanto segue al file di configurazione fornito durante l'esecuzione di mongod --config mongod.conf

Per MongoDB 3.x (ultima versione)

storage:
   mmapv1:
      smallFiles: true

Per la versione 2.6+

storage:
   smallFiles: true

Per la versione 2.4 e meno

smallfiles = true

Quindi esegui semplicemente mongod per accettare il tuo file di configurazione (qui si presuppone che la posizione della configurazione sia /etc/mongodb.conf ):

mongod -f /etc/mongodb.conf

Documentazione per smallfiles parametro:

Set to true to modify MongoDB to use a smaller default data file size. 
Specifically, smallfiles reduces the initial size for data files and
limits them to 512 megabytes. The smallfiles setting also reduces the
size of each journal files from 1 gigabyte to 128 megabytes.

Avvia mongod istanza utilizzando il seguente comando

mongod --dbpath /data/db --smallfiles

Stavo seguendo la guida ufficiale su http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Dopo aver utilizzato

$sudo service mongod start

Sono andato a verificare se MongoDB era stato avviato correttamente esaminando questo registro:

/var/log/mongodb/mongod.log

Questo è il problema che ho riscontrato:

2014-11-11T12:54:05.808-0500 [initandlisten] ERROR: Insufficient free space for journal files
2014-11-11T12:54:05.808-0500 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
2014-11-11T12:54:05.808-0500 [initandlisten]
2014-11-11T12:54:05.808-0500 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2014-11-11T12:54:05.808-0500 [initandlisten] dbexit:
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close listening sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to flush diaglog...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: waiting for fs preallocator...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: lock for final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: closing all files...
2014-11-11T12:54:05.808-0500 [initandlisten] closeAllFiles() finished
2014-11-11T12:54:05.808-0500 [initandlisten] journalCleanup...
2014-11-11T12:54:05.808-0500 [initandlisten] removeJournalFiles
2014-11-11T12:54:05.814-0500 [initandlisten] shutdown: removing fs lock...
2014-11-11T12:54:05.814-0500 [initandlisten] dbexit: really exiting now

Soluzione:

Alla fine del file /etc/mongod.conf ho aggiunto questa riga:

smallfiles = true

Successivamente, ho riavviato il servizio mongod:

$sudo service mongod restart

Poi, quando sono andato a rivedere il registro, mi sono reso conto che era tutto perfetto e il problema è stato risolto:

2014-11-11T22:32:20.544-0500 ***** SERVER RESTARTED *****
2014-11-11T22:32:20.552-0500 [initandlisten] MongoDB starting : pid=5200 port=27017 dbpath=/var/lib/mongodb 64-bit host=jaimemontoya-VirtualBox
2014-11-11T22:32:20.552-0500 [initandlisten] db version v2.6.5
2014-11-11T22:32:20.552-0500 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-11T22:32:20.552-0500 [initandlisten] build info: Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-11T22:32:20.552-0500 [initandlisten] allocator: tcmalloc
2014-11-11T22:32:20.552-0500 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb", smallFiles: true }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-11-11T22:32:20.564-0500 [initandlisten] journal dir=/var/lib/mongodb/journal
2014-11-11T22:32:20.564-0500 [initandlisten] recover : no journal files present, no recovery needed
2014-11-11T22:32:20.738-0500 [initandlisten] waiting for connections on port 27017
2014-11-11T22:33:20.748-0500 [clientcursormon] mem (MB) res:36 virt:245
2014-11-11T22:33:20.748-0500 [clientcursormon]  mapped (incl journal view):64
2014-11-11T22:33:20.748-0500 [clientcursormon]  connections:0

Linux
  1. 7 Suggerimenti per la riga di comando di Linux per risparmiare spazio sui file multimediali

  2. DistroTest:prova online i sistemi operativi Linux e Unix gratuitamente

  3. Perché ottieni cp:omettere l'errore di directory in Linux e come risolverlo

  4. Linux:ottenere file per la data corrente in Linux?

  5. Usa Trova e trova per cercare file in Linux

I migliori convertitori video gratuiti per Linux [GUI, CLI e online]

Linux cerca la stringa nelle cartelle e nei file con ack

Risparmia spazio comprimendo file e cartelle in Linux

40 utili comandi git per amministratori e sviluppatori Linux

Guida introduttiva e installazione di Slack per Linux

Motrix:un gestore di download gratuito e open source per Linux