2013-04-12 6 views
5

私はMongoDBの初心者です。私はこのサーバ上での実行に問題があります。MongoDBプロセスは毎日シャットダウンしています。どのようにサーバーで永遠にmongodを実行するのですか?

私のプロジェクトはhostmonster.comのサーバでホストされていますが、私自身の責任の下でインストールできるとは言えますが、私にはMongoDBデータベースのサポートはしていません。

その後、MongoDB binフォルダ(mongo、mongod、mongodumpなど)にLinux 64に問題なくMongoDB 2.4.1をインストールしました。「data」と「data/db」というフォルダを作成しましたいくつかのテストをしています。コンソールから

、私は、SSHプロトコルを介してサーバーに接続して、私は

./mongod --dbpath 'data/db' 

を実行し、それが動作します。

しかし、私はそれが永遠に自動的に実行する必要があります。

私はMongodb can't startのステップに続いて、次の行を実行します。

./mongod --fork --dbpath 'data/db' --smallfiles --logpath 'data/mongodb.log' --logappend 

また、働いていた、それがプロセスを開始し、私は、コンソールを閉じて、このプロセスが実行して継続し、私は自分のドメイン間で私のデータを見ることができます。

問題は、プロセスが終了するまでに1日かかります。つまり、ドメイン全体で自分のデータが表示されない場合は、もう一度mongodを実行する必要があります。 :

./mongod --fork --dbpath 'data/db' --smallfiles --logpath 'data/mongodb.log' --logappend 

私はそれを毎日行う必要はありません、私の質問は:

のmongodプロセスが毎日死ぬなぜ?、問題がある可能性がありますか?

どうすればこのプロセスを永遠に実行できますか?

私の英語のために申し訳ありません。

編集:最後のエラーログを追加します。私はそれを理解していない。

Fri Apr 12 03:19:34.577 [TTLMonitor] query local.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:0 keyUpdates:0 locks(micros) r:141663 nreturned:0 reslen:20 141ms 
Fri Apr 12 03:19:34.789 [TTLMonitor] query users.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:3 keyUpdates:0 locks(micros) r:211595 nreturned:0 reslen:20 211ms 
Fri Apr 12 03:20:57.869 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 18215ms 
Fri Apr 12 03:20:57.931 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 8ms 
Fri Apr 12 03:22:14.155 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 32ms 
Fri Apr 12 03:22:14.215 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 14ms 
Fri Apr 12 03:22:30.670 [TTLMonitor] query actarium.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:2 keyUpdates:0 locks(micros) r:430204 nreturned:0 reslen:20 430ms 
Fri Apr 12 03:23:14.825 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 7ms 
Fri Apr 12 03:23:31.133 [TTLMonitor] query actarium.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:2 keyUpdates:0 locks(micros) r:179175 nreturned:0 reslen:20 168ms 
Fri Apr 12 03:25:19.201 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 505ms 
Fri Apr 12 03:25:23.370 [TTLMonitor] query local.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:0 keyUpdates:0 locks(micros) r:3604735 nreturned:0 reslen:20 3604ms 
Fri Apr 12 03:25:25.294 [TTLMonitor] query users.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:3 keyUpdates:0 numYields: 1 locks(micros) r:3479328 nreturned:0 reslen:20 1882ms 
Fri Apr 12 03:26:26.647 [TTLMonitor] query actarium.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:2 keyUpdates:0 numYields: 1 locks(micros) r:1764712 nreturned:0 reslen:20 1044ms 
Fri Apr 12 04:09:27.804 [TTLMonitor] query actarium.system.indexes query: { expireAfterSeconds: { $exists: true } } ntoreturn:0 ntoskip:0 nscanned:2 keyUpdates:0 locks(micros) r:200919 nreturned:0 reslen:20 200ms 
Fri Apr 12 04:43:54.002 got signal 15 (Terminated), will terminate after current cmd ends 
Fri Apr 12 04:43:54.151 [interruptThread] now exiting 
Fri Apr 12 04:43:54.151 dbexit: 
Fri Apr 12 04:43:54.157 [interruptThread] shutdown: going to close listening sockets... 
Fri Apr 12 04:43:54.160 [interruptThread] closing listening socket: 9 
Fri Apr 12 04:43:54.160 [interruptThread] closing listening socket: 10 
Fri Apr 12 04:43:54.160 [interruptThread] closing listening socket: 11 
Fri Apr 12 04:43:54.160 [interruptThread] removing socket file: /tmp/mongodb-27017.sock 
Fri Apr 12 04:43:54.160 [interruptThread] shutdown: going to flush diaglog... 
Fri Apr 12 04:43:54.160 [interruptThread] shutdown: going to close sockets... 
Fri Apr 12 04:43:54.176 [interruptThread] shutdown: waiting for fs preallocator... 
Fri Apr 12 04:43:54.176 [interruptThread] shutdown: lock for final commit... 
Fri Apr 12 04:43:54.176 [interruptThread] shutdown: final commit... 
Fri Apr 12 04:43:54.176 [interruptThread] shutdown: closing all files... 
Fri Apr 12 04:43:54.212 [interruptThread] closeAllFiles() finished 
Fri Apr 12 04:43:54.220 [interruptThread] journalCleanup... 
Fri Apr 12 04:43:54.246 [interruptThread] removeJournalFiles 
Fri Apr 12 04:43:54.280 [interruptThread] error removing journal files 
boost::filesystem::directory_iterator::construct: No such file or directory: "/home2/anuncio3/bin/mongodb-linux-x86_64-2.4.1/bin/data/db/journal" 
Fri Apr 12 04:43:54.280 [interruptThread] error couldn't remove journal file during shutdown boost::filesystem::directory_iterator::construct: No such file or directory: "/home2/anuncio3/bin/mongodb-linux-x86_64-2.4.1/bin/data/db/journal" 
Fri Apr 12 04:43:54.285 shutdown failed with exception 
Fri Apr 12 04:43:54.285 dbexit: really exiting now 
+0

check server/mongo logsにエラーメッセージがありますか? –

+0

準備完了、エラーログ情報を追加しました。 – edwinfmesa

+0

TTLモニタでエラーが発生したようです – Sammaye

答えて

4

あなたの答えはここにある:

Fri Apr 12 04:43:54.002 got signal 15 (Terminated), will terminate after current cmd ends 
Fri Apr 12 04:43:54.151 [interruptThread] now exiting 

あなたのプロセスは、デフォルトのキル信号である信号15を、受信しています。彼らのシステムは、長時間実行されているプロセスなどを自動的に強制終了させる可能性があります。それが実際に起こっている場合、あなたのホストはそれを解決する必要があります。

はまた、これらのエラー:

Fri Apr 12 04:43:54.280 [interruptThread] error removing journal files 
boost::filesystem::directory_iterator::construct: No such file or directory: "/home2/anuncio3/bin/mongodb-linux-x86_64-2.4.1/bin/data/db/journal" 
Fri Apr 12 04:43:54.280 [interruptThread] error couldn't remove journal file during shutdown boost::filesystem::directory_iterator::construct: No such file or directory: "/home2/anuncio3/bin/mongodb-linux-x86_64-2.4.1/bin/data/db/journal" 

は何かがあなたのインストールデータディレクトリに問題があることを示しています。ジャーナルファイルが存在しないか、または失われています。システム上のいくつかのプロセスが物事をきれいにしようとしている場合、何かがあなたのジャーナルファイルをヌークしていると私には驚かないでしょう。

0

これは古い質問ですが、私の経験は他の査読者にとって参考になるかもしれません。 私のテストに基づいて、プログラムを殺す前に5分間(時にはこれ以上)プログラムを実行できるようにしています。専用のIPを持っていなければMongoDBをインストールするのは無駄です。