2017-08-25 15 views
-1

これを解決するために私が行っていることこれを見て、何が間違っているのかを教えてください。 mongod.lockファイルを削除してからcdを実行し、./mongodを実行してもまだ動作しません。予期せぬクラッシュの後にmongodbが起動しない

oxmat:~ $ cd data 
oxmat:~/data $ ls 
local/ local.0 local.ns mongod.lock* restfull_blogapp/ restfull_blogapp.0 restfull_blogapp.ns yelp_camp/ yelp_camp.0 yelp_camp.ns 
oxmat:~/data $ rm mongod.lock 
oxmat:~/data $ ls 
local/ local.0 local.ns restfull_blogapp/ restfull_blogapp.0 restfull_blogapp.ns yelp_camp/ yelp_camp.0 yelp_camp.ns 
oxmat:~/data $ cd .. 
oxmat:~ $ ./mongod 
2017-08-25T11:58:50.766+0000 ** WARNING: --rest is specified without --httpinterface, 
2017-08-25T11:58:50.766+0000 **   enabling http interface 
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default 
2017-08-25T11:58:50.770+0000 [initandlisten] MongoDB starting : pid=5842 port=27017 dbpath=data 64-bit host=oxmat-oxmat-5130321 
2017-08-25T11:58:50.770+0000 [initandlisten] db version v2.6.12 
2017-08-25T11:58:50.770+0000 [initandlisten] git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a 
2017-08-25T11:58:50.770+0000 [initandlisten] build info: Linux build5.ny.cbi.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 
2017-08-25T11:58:50.770+0000 [initandlisten] allocator: tcmalloc 
2017-08-25T11:58:50.770+0000 [initandlisten] options: { net: { bindIp: "0.0.0.0", http: { RESTInterfaceEnabled: true, enabled: true } }, storage: { dbPath: "data", journal: { enabled: false } } } 
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017 
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: addr already in use 
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017 
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: addr already in use 
2017-08-25T11:58:50.780+0000 [initandlisten] now exiting 
2017-08-25T11:58:50.780+0000 [initandlisten] dbexit: 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to close listening sockets... 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to flush diaglog... 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to close sockets... 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: waiting for fs preallocator... 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: closing all files... 
2017-08-25T11:58:50.780+0000 [initandlisten] closeAllFiles() finished 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: removing fs lock... 
2017-08-25T11:58:50.780+0000 [initandlisten] dbexit: really exiting now 
oxmat:~ $ 
+0

あなたはCloud9から未払いのインスタンス上にMongoDBをスピンアップしようとしている場合は、私はほとんど「予想外」のクラッシュを呼び出すことないだろう。これは本当に「これが必然的に起こったとき」のようなものです。データベースは、そこで利用可能な小さなインスタンスの提供よりもはるかに多くのリソースがあります。 VMベースのIDEと開発テストベッドでデータベースエンジンを起動しようとするのではなく、代わりにMongoDBの無料ホスティングサービスにサインアップしてください。そこには2つ以上のプロバイダが存在し、開発環境の唯一の負荷は接続文字列です。 –

答えて

0

ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017 

が何かを意味したメッセージは、すでにそれはおそらく別のmongodインスタンスのポート27017.にバインドされています。

ps -e | grep 'mongo'を実行して、mongodのプロセスがあるかどうかを確認してください。たとえば、次の出力が得られます。

48298 ttys000 1:14.83 mongod 

したがって、出力からのプロセスIDを使用してプロセスを終了できます。この例では、プロセスIDは48298ですので、終了しますkill 48298

次にmongodをもう一度実行してみてください。

何らかの理由で他のプロセスがポート27017を使用している場合は、次のように--portフラグを指定して別のポートを使用できます。

./mongod --port 12345 
関連する問題