2016-02-11 12 views
9

私は最近、自分のPC上にいくつかのストレージの問題があったので、mongo.confファイルを変更してジャーナルのサイズを小さくしました。これらは、しかし、私は(変更なしそれだけで正常に動作します)このエラーを取得し、新たな変更でモンゴを実行しようとするたびに、私は入れライン。Mongo例外

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を削除しようとするだろう。

ます。また、オプションでモンゴを開始することにより、診断データの収集を無効にすることができますHDは100%件まで縮充されたときのMongoDBが失敗した後

setParameter: 
    diagnosticDataCollectionEnabled: false 
+0

をコメントアウトあなたは、私がそのディレクトリを削除するとどうなる内容を正確に把握するために起こるのですか?インストール時に私は診断を送ることをチェックしたとは思わない。 –

+1

このディレクトリを削除すると、再作成されます。サーバーが停止している間だけ、そのディレクトリを削除することをお勧めします。診断データの収集は、デフォルトで有効になっています。それはどこにも送られず、ローカルでのみ収集されます。 – helmy

+0

説明のため、 'diagnostics.data'ディレクトリには本質的に定期的な' db.serverStatus() '出力が記録されており、どこにも送られません。 MongoDBとのサポート契約を結んでいる場合は、サポート/トラブルシューティングのためにこのディレクトリの内容をアップロードするよう求められることがあります。 –

1

を私は同じ問題を抱えていました。私はkill -edのmongod

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. 

と診断フォルダの内容をクリア:ここにログがある

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

のmongoログの再起動が示した後:

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

nodejsを使用している場合は、サーバーコードでデバッグモードを無効/削除してみてください。

ステップ:

  1. rm -rf /{your_db_name}/diagnostic.data/
  2. 削除またはmongoose.set('debug', true);
  3. 再起動モンゴとノードサーバ
関連する問題