GNU/Linux >> Belajar Linux >  >> Linux

Mengapa error mongod mati tetapi subsys terkunci dan Ruang kosong tidak cukup untuk file jurnal di Linux?

Anda dapat menambahkan berikut ke file konfigurasi yang disediakan saat menjalankan mongod --config mongod.conf

Untuk MongoDB 3.x (versi terbaru)

storage:
   mmapv1:
      smallFiles: true

Untuk versi 2.6+

storage:
   smallFiles: true

Untuk versi 2.4 dan lebih sedikit

smallfiles = true

Kemudian jalankan mongod untuk menerima file konfigurasi Anda (di sini diasumsikan bahwa lokasi konfigurasi adalah /etc/mongodb.conf ):

mongod -f /etc/mongodb.conf

Dokumentasi untuk file kecil parameter:

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.

Mulai mongod misalnya menggunakan perintah berikut

mongod --dbpath /data/db --smallfiles

Saya mengikuti panduan resmi di http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Setelah menggunakan

$sudo service mongod start

Saya pergi untuk memverifikasi apakah MongoDB telah berhasil dimulai dengan meninjau log ini:

/var/log/mongodb/mongod.log

Inilah masalah yang saya temukan:

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

Solusi:

Di akhir file /etc/mongod.conf saya menambahkan baris ini:

smallfiles = true

Setelah itu, saya memulai kembali layanan mongod:

$sudo service mongod restart

Kemudian ketika saya meninjau log, saya menyadari bahwa semuanya sempurna, dan masalahnya telah diperbaiki:

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 tips baris perintah Linux untuk menghemat ruang file media

  2. 5 Perangkat Lunak Manajemen Sekolah Sumber Terbuka dan Gratis untuk Linux

  3. mysql sudah mati tetapi subsys terkunci

  1. DistroTest – Uji Sistem Operasi Linux Dan Unix Online Gratis

  2. Mengapa Anda mendapatkan cp:menghilangkan kesalahan direktori di Linux dan bagaimana mengatasinya

  3. Perbaiki Exim error-exim mati tapi subsys terkunci

  1. Linux – Mendapatkan File Untuk Tanggal Saat Ini Di Linux?

  2. Gunakan Temukan dan Temukan untuk mencari file di Linux

  3. “docker mati tapi subsys terkunci” – kesalahan saat memulai buruh pelabuhan