なぜかはわかりませんが、昨日はサービスが正常に機能していましたが、突然MongoDBを起動できません。
[root@purr ~]# service mongod start
Starting mongod: Thu Aug 29 23:26:07.550
Thu Aug 29 23:26:07.550 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Aug 29 23:26:07.550
about to fork child process, waiting until server is ready for connections.
forked process: 5078
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100
[FAILED]
/var/log/mongo/mongod.logおよび次のファイルを調べました。
***** SERVER RESTARTED *****
Thu Aug 29 23:29:05.874 [initandlisten] MongoDB starting : pid=5118 port=27017 dbpath=/var/lib/mongo 32-bit Host=purr.ipetfindr.com
Thu Aug 29 23:29:05.874 [initandlisten]
Thu Aug 29 23:29:05.874 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Aug 29 23:29:05.874 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Aug 29 23:29:05.874 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Thu Aug 29 23:29:05.874 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Thu Aug 29 23:29:05.874 [initandlisten]
Thu Aug 29 23:29:05.874 [initandlisten] ** WARNING: You are running in OpenVZ. This is known to be broken!!!
Thu Aug 29 23:29:05.875 [initandlisten]
Thu Aug 29 23:29:05.875 [initandlisten] db version v2.4.6
Thu Aug 29 23:29:05.875 [initandlisten] git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673
Thu Aug 29 23:29:05.875 [initandlisten] build info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Aug 29 23:29:05.875 [initandlisten] allocator: system
Thu Aug 29 23:29:05.875 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidf$
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Aug 29 23:29:05.875 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Aug 29 23:29:05.875 dbexit:
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to close listening sockets...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to flush diaglog...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: going to close sockets...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: waiting for fs preallocator...
Thu Aug 29 23:29:05.875 [initandlisten] shutdown: closing all files...
Thu Aug 29 23:29:05.875 [initandlisten] closeAllFiles() finished
Thu Aug 29 23:29:05.875 dbexit: really exiting now
サーバーの再起動としてこれを修正するにはどうすればよいですか、サービスは機能していないようです。
修復後のエラー
何をすべきかわからないのは、エラーについて何か言っていることです/var/lib/mongo/local.ns terminating
***** SERVER RESTARTED *****
Fri Aug 30 04:49:43.041 [initandlisten] MongoDB starting : pid=3300 port=27017 dbpath=/var/lib/mongo 32-bit Host=purr.ipetfindr.com
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Fri Aug 30 04:49:43.041 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Fri Aug 30 04:49:43.041 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Fri Aug 30 04:49:43.041 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] ** WARNING: You are running in OpenVZ. This is known to be broken!!!
Fri Aug 30 04:49:43.041 [initandlisten]
Fri Aug 30 04:49:43.041 [initandlisten] db version v2.4.6
Fri Aug 30 04:49:43.041 [initandlisten] git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673
Fri Aug 30 04:49:43.041 [initandlisten] build info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Fri Aug 30 04:49:43.041 [initandlisten] allocator: system
Fri Aug 30 04:49:43.041 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidf$
Fri Aug 30 04:49:43.058 [initandlisten] couldn't open /var/lib/mongo/local.ns errno:13 Permission denied
Fri Aug 30 04:49:43.058 [initandlisten] error couldn't open file /var/lib/mongo/local.ns terminating
Fri Aug 30 04:49:43.059 dbexit:
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to close listening sockets...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to flush diaglog...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: going to close sockets...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: waiting for fs preallocator...
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: closing all files...
Fri Aug 30 04:49:43.059 [initandlisten] closeAllFiles() finished
Fri Aug 30 04:49:43.059 [initandlisten] shutdown: removing fs lock...
Fri Aug 30 04:49:43.059 dbexit: really exiting now
修復を実行した後、ルートとしてmongod proccessorを起動できました。つまり、service mongod start
は機能しません。この問題を修復するには、データベースフォルダー内のすべてのファイルが所有され、mongodにグループ化されていることを確認する必要がありました。これは次の方法で行いました。
/var/lib/mongo
私はcd /var/lib
ls -l mongo
chown -R mongod:mongod mongo
。これにより、フォルダー内のすべてのファイルの所有者とグループがmongodに変更されました。 (mongodbパッケージを使用している場合、chown -R mongodb:mongodb mongodb
)これが将来他の誰かに役立つことを願っています。
最初にC:\mongodb\bin\mongod.exe --repair
を実行してこれを解決しました。その後、C:\mongodb\bin\mongod.exe
で再びMongoDBを実行すると、正常に起動しました。
D:\ test\mongodb\data\mongod.lockファイルを削除することでこれを解決しました。 mongo dbに再接続すると、このファイルは同じフォルダーに自動生成されます。わたしにはできる。
おそらくmongod.lockファイルが原因である可能性がありますが、エラーを削除してもエラーが続く場合は、mongo.confのパスを確認してください。構成されたログパスやdbPathが存在しないなどの単純な問題である可能性があります(mongo/conf/mongod.confのパスを確認し、それらが存在するかどうかを確認します。mongoが独自のディレクトリ構造を作成できない場合があるため、これらのディレクトリは、mongodを起動する前に手動で)。
私にとって、起動しない理由は、/ var/lib/mongo/mongo.lockの孤立したロックファイルであることが判明しました。そのファイルを削除すると、mongoは正常に起動します。私のシステムでは、これまでにいくつかの乱雑なクラッシュが発生していました。 [Fedora 14]
すべてエラーメッセージにあります-正常でないシャットダウンが検出されたようです。詳細については、 http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/ を参照してください。
私の経験では、通常はmongod.exe
with --repair
オプション修復DB。
ロックファイルを削除しようとしましたが、これが実際に発生したのは、データディレクトリとして〜/ data/dbを使用していたためです。 Mongoには、データベースへの絶対パスが必要です。/home // data/dbに変更すると、ビジネスになりました。
許可を確認しましたが、すべて正常でした(mongod:mongod)。私は大規模なプロジェクトに取り組んでおり、利用可能なディスク領域をすべて消費するスクリプトがある開発環境で同様の問題を抱えているため、実行するにはmongodに少なくとも3.7GBの空きディスク領域が必要であるというエラーメッセージを見ることができました。
私は自分のディスクスペースをチェックして、2Gb未満しか残っていないことを確認しました。いくつかのデータを移動/消去した後、mongodを再び正常に起動できます。
お役に立てれば ;-)
Windowsターミナルからmongod.exeを実行すると、メッセージ_Unrecognized option: mp
_が表示されました。 _mp:
_の最後に空の_mongod.cfg
_がありました。それを取り除くことで問題は解決しました。
C:\ mongodb\data \パスから.lockファイルを削除してから、mongodbサービスを再起動します。
私はまだ賛成/コメントすることはできませんが、ロックファイルを手動で削除するために+1しています(笑)。
C9ワークスペースがクラッシュし、予期しないシャットダウンがトリガーされました。 APIのアドバイス: https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/
..しかし、data/mongo.lockを削除するとうまくいきました:)。
また、接続拒否(私の場合)が発生した場合に備えて、ロックファイルを削除する前に修復コマンドを実行すると、問題が解決する可能性があります(私の場合)。
須藤-u mongodb mongod --repair --dbpath/var/lib/mongodb /