GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi obtenir l'erreur mongod mort mais sous-système verrouillé et espace libre insuffisant pour les fichiers journaux sous Linux?

Vous pouvez ajouter ce qui suit au fichier de configuration fourni lors de l'exécution de mongod --config mongod.conf

Pour MongoDB 3.x (dernière version)

storage:
   mmapv1:
      smallFiles: true

Pour la version 2.6+

storage:
   smallFiles: true

Pour la version 2.4 et moins

smallfiles = true

Ensuite, exécutez simplement mongod pour accepter votre fichier de configuration (ici, il suppose que l'emplacement de la configuration est /etc/mongodb.conf ):

mongod -f /etc/mongodb.conf

Documentation pour les petits fichiers paramètre :

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.

Début mongod instance en utilisant la commande suivante

mongod --dbpath /data/db --smallfiles

Je suivais le guide officiel sur http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Après avoir utilisé

$sudo service mongod start

Je suis allé vérifier si MongoDB avait démarré avec succès en examinant ce journal :

/var/log/mongodb/mongod.log

C'est le problème que j'ai trouvé :

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

Solution :

A la fin du fichier /etc/mongod.conf j'ai ajouté cette ligne :

smallfiles = true

Après cela, j'ai redémarré le service mongod :

$sudo service mongod restart

Puis, lorsque je suis allé consulter le journal, j'ai réalisé que tout était parfait et que le problème était résolu :

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 astuces de ligne de commande Linux pour économiser de l'espace sur les fichiers multimédias

  2. Linux - Obtenir des fichiers pour la date actuelle sous Linux ?

  3. Correction de l'erreur Exim-exim mort mais sous-système verrouillé

  4. mysql est mort mais sous-système verrouillé

  5. httpd mort mais sous-système verrouillé

Meilleurs convertisseurs vidéo gratuits pour Linux [GUI, CLI et en ligne]

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

Économisez de l'espace en compressant les fichiers et les dossiers sous Linux

40 commandes git utiles pour les administrateurs et les développeurs Linux

Prise en main et installation de Slack pour Linux

Motrix :un gestionnaire de téléchargement gratuit et open source pour Linux