2

mongodb を起動しようとすると問題が発生します。以下にエラーを示します。

    xxx@xxx [/var/lib/mongo]# /etc/init.d/mongod start
    Starting mongod: all output going to: /var/log/mongo/mongod.log
                                                           [FAILED]

mongod.log を見ると、次の通知が表示されます。

***** SERVER RESTARTED *****


Thu Mar 21 12:10:20.860 [initandlisten] MongoDB starting : pid=19148 port=27017 dbpath=/var/lib/mongo 64-bit host=srv1.canoa.net
Thu Mar 21 12:10:20.860 [initandlisten] db version v2.4.0
Thu Mar 21 12:10:20.860 [initandlisten] git version: ce2d666c04b4a80af58e8bbb3388b0680e8cfeb6
Thu Mar 21 12:10:20.860 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Thu Mar 21 12:10:20.861 [initandlisten] allocator: tcmalloc
Thu Mar 21 12:10:20.861 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidfilepath: "/var/run/mongodb/mongod.pid" }
Thu Mar 21 12:10:20.861 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Thu Mar 21 12:10:20.861 dbexit:
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to close listening sockets...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to flush diaglog...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to close sockets...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: waiting for fs preallocator...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: lock for final commit...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: final commit...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: closing all files...
Thu Mar 21 12:10:20.861 [initandlisten] closeAllFiles() finished
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: removing fs lock...
Thu Mar 21 12:10:20.861 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 21 12:10:20.861 dbexit: really exiting now

私の注意を引くものはこれです:

Thu Mar 21 12:10:20.861 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

/var/lib/mongo 内のフォルダーとファイルには 0755 権限があります。

誰かがこれを行う方法を教えてくれれば、私は感謝します。

4

3 に答える 3

5

エラーを解決しました。これは、mongodユーザーが にのみ割り当てられて/var/lib/mongoいて、その中のファイルには割り当てられていなかったためです。次のコマンドでこの部分を解決しました: chown -R mongod:mongod /var/lib/mongo.

mongod次に、次のコマンドを使用してユーザーでデータベースを修復するだけで済みました: sudo -u mongod mongod -f /etc/mongod.conf --repair、最終的にデータベースを正常に起動しました。

これが他の人に役立つことを願っています。

回答ありがとうございます。

于 2013-03-21T18:22:06.950 に答える
2

おそらく、最後にmongodプロセスが誤って終了したときに、mongo.lockこれを削除してみてください。

于 2013-03-21T16:54:51.093 に答える
0

service mongodb start/stop/restart/statusコマンドをルートとして実行していると思いますか?? .. sudo を使用していますか? 通常のユーザーとして起動しようとすると、そのエラーが発生します。

于 2013-03-21T17:42:35.590 に答える