2013-03-21 43 views
2

我有一個問題,當嘗試啓動MongoDB的,下面我會告訴你的錯誤:錯誤試圖啓動MongoDB的

[email protected] [/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權限。

如果有人能告訴我一個辦法做到這一點,我會很感激。

+0

/var/lib/mongo/mongod.lock是否存在? – user20140268 2013-03-21 16:44:01

+0

@ user20140268是的,/var/lib/mongo/mongod.lock存在 – oletob 2013-03-21 16:45:56

回答

2

也許是最後一次mongod過程中被錯誤地終止,儘量去除mongo.lock這應該有助於

+0

我已經嘗試過了,但錯誤仍在繼續 – oletob 2013-03-21 16:57:23

+0

你能顯示'ls -ld/var/lib/mongo /'的輸出嗎? – user20140268 2013-03-21 17:04:35

+0

如果它有一個選項,嘗試使用不同的dbpath並檢查。 mongod --dbpath – 2013-03-21 17:09:02

-1

我相信你正在運行的服務MongoDB的啓動/停止/重啓/狀態命令爲根? ..使用sudo?如果我嘗試以普通用戶身份啓動它,我會遇到該錯誤。

5

我解決了這個錯誤,那是因爲我只有mongod用戶分配給了/var/lib/mongo而不是裏面的文件,下面的命令解決了這個部分:chown -R mongod:mongod /var/lib/mongo

然後只需要用以下命令修復數據庫用戶mongodsudo -u mongod mongod -f /etc/mongod.conf --repair,我終於成功啓動了數據庫。

我希望這會對其他人有所幫助。

謝謝大家的回答。