2016-02-11 8 views
9

हाल ही में मेरे पीसी पर कुछ स्टोरेज समस्याएं थीं इसलिए मैंने पत्रिका के आकार को कम करने के लिए mongo.conf फ़ाइल को बदल दिया। जब मैं नए परिवर्तन मैं (परिवर्तन यह सिर्फ ठीक काम करता है) के बिना यह त्रुटि प्राप्त साथ मोंगो चलाने का प्रयास ये लाइनें जो मैं में डाल रहे हैं।मोंगो अपवाद

mmapv1: 
    smallFiles: true 

हालांकि, हर बार। क्या आप मुझे बता सकते हैं कि समस्या क्या है?


2016-02-11T22:32:14.002+0000 I FTDC [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK

2016-02-11T22:32:14.023+0000 W FTDC [ftdc] Uncaught exception in 'UnknownError Caught std::exception of type boost::filesystem::filesystem_error: boost::filesystem::file_size: No such file or directory: "/data/db/diagnostic.data/metrics.interim.temp"' in full-time diagnostic data capture subsystem. Shutting down the full-time diagnostic data capture subsystem.

उत्तर

11

मैं निर्देशिका /data/db/diagnostic.data को हटाने की कोशिश करेंगे।

तुम भी विकल्प के साथ मोंगो शुरू करने से नैदानिक ​​डेटा संग्रहण को अक्षम कर सकते हैं:

setParameter: 
    diagnosticDataCollectionEnabled: false 
+0

आप को पता है कि अगर मैं उस निर्देशिका हटाना वास्तव में क्या होता है ऐसा है? स्थापित करते समय मुझे नहीं लगता कि मैंने डायग्नोस्टिक्स भेज दिया है। –

+1

यदि आप उस निर्देशिका को हटाते हैं तो इसे फिर से बनाया जाएगा। मैं अनुशंसा करता हूं कि सर्वर बंद होने पर आप केवल उस निर्देशिका को हटा दें। डायग्नोस्टिक डेटा संग्रह डिफ़ॉल्ट रूप से सक्षम है। इसे कहीं भी "भेजा" नहीं मिलता है, यह केवल स्थानीय रूप से एकत्रित होता है। – helmy

+0

सिर्फ स्पष्टीकरण के लिए, 'diagnostics.data' निर्देशिका में अनिवार्य रूप से आवधिक' db.serverStatus() 'आउटपुट की रिकॉर्डिंग होती है, और इसे कहीं भी नहीं भेजा जाता है। यदि आपके पास मोंगोडीबी के साथ एक समर्थन समझौता है, तो आपको समर्थन/समस्या निवारण उद्देश्यों के लिए इस निर्देशिका की सामग्री अपलोड करने के लिए कहा जा सकता है। –

1

मैं एक ही समस्या थी के बाद MongoDB में विफल रहा है जब HD 100% तक fulled किया गया था। यहाँ लॉग है:

2016-10-03T10:13:42.017+0000 I CONTROL [initandlisten] MongoDB starting : pid=12630 port=27017 dbpath=/var/lib/mongo 64-bit host=drft006 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] db version v3.2.9 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] modules: none 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] build environment: 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten]  distmod: rhel62 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten]  distarch: x86_64 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten]  target_arch: x86_64 
2016-10-03T10:13:42.018+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { port: 27017, unixDomainSocket: { filePermissions: 511 } }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, security: { authorization: "enabled" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } } 
2016-10-03T10:13:42.045+0000 I -  [initandlisten] Detected data files in /var/lib/mongo created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 
2016-10-03T10:13:42.045+0000 W -  [initandlisten] Detected unclean shutdown - /var/lib/mongo/mongod.lock is not empty. 
2016-10-03T10:13:42.045+0000 W STORAGE [initandlisten] Recovering data from the last clean checkpoint. 
2016-10-03T10:13:42.045+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=93G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 
2016-10-03T10:13:42.465+0000 I FTDC  [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data' 
2016-10-03T10:13:42.465+0000 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 
2016-10-03T10:13:42.467+0000 I NETWORK [initandlisten] waiting for connections on port 27017 
2016-10-03T10:13:43.012+0000 I FTDC  [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK 
2016-10-03T10:13:43.045+0000 W FTDC  [ftdc] Uncaught exception in 'UnknownError: Caught std::exception of type boost::filesystem::filesystem_error: boost::filesystem::file_size: No such file or directory: "/var/lib/mongo/diagnostic.data/metrics.interim.temp"' in full-time diagnostic data capture subsystem. Shutting down the full-time diagnostic data capture subsystem. 

मैं kill एड mongod और नैदानिक ​​फ़ोल्डर की सामग्री को मंजूरी दे दी:

> rm -f /var/lib/mongo/diagnostic.data/* 

बाद मोंगो लॉग को फिर से प्रारंभ से पता चला है:

2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] MongoDB starting : pid=12803 port=27017 dbpath=/var/lib/mongo 64-bit host=drft006 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] db version v3.2.9 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] modules: none 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] build environment: 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten]  distmod: rhel62 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten]  distarch: x86_64 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten]  target_arch: x86_64 
2016-10-03T10:17:46.745+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { port: 27017, unixDomainSocket: { filePermissions: 511 } }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, security: { authorization: "enabled" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } } 
2016-10-03T10:17:46.772+0000 I -  [initandlisten] Detected data files in /var/lib/mongo created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 
2016-10-03T10:17:46.772+0000 W -  [initandlisten] Detected unclean shutdown - /var/lib/mongo/mongod.lock is not empty. 
2016-10-03T10:17:46.772+0000 W STORAGE [initandlisten] Recovering data from the last clean checkpoint. 
2016-10-03T10:17:46.772+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=93G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 
2016-10-03T10:17:47.128+0000 I FTDC  [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data' 
2016-10-03T10:17:47.128+0000 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 
2016-10-03T10:17:47.129+0000 I NETWORK [initandlisten] waiting for connections on port 27017 

और मोंगो ठीक था।

1

यदि आप नोडजेज़ का उपयोग कर रहे हैं, तो अपने सर्वर कोड में डीबग मोड को अक्षम/निकालने का प्रयास करें।

कदम:

  1. rm -rf /{your_db_name}/diagnostic.data/
  2. हटाना होगा या mongoose.set('debug', true);
  3. बाहर टिप्पणी पुनः आरंभ मोंगो और नोड सर्वर