2012-04-09 67 views
14

我已經安裝了MongoDB的,當我鍵入以下命令我得到這些消息不能重新啓動的MongoDB在Ubuntu 11.04

[email protected]:~# service mongodb status  
mongodb stop/waiting 
[email protected]:~# service mongodb restart  
restart: Unknown instance:  
[email protected]:~# service mongodb stop  
stop: Unknown instance: 

我要重新啓動mongodb.but無法重新啓動。

編輯: 這裏是/etc/mongodb.conf

DBPATH =在/ var/lib中/ MongoDB的 的logpath = /無功/日誌/的MongoDB/mongodb.log

logappend =真

bind_ip = 127.0.0.1
AUTH =真

+0

'服務mongodb start'的輸出是什麼? – 2012-04-09 11:41:59

+0

你可以粘貼/etc/mongodb.conf文件的內容嗎? – SeanNieuwoudt 2012-04-09 11:43:51

+0

服務mongodb啓動 mongodb啓動/運行,進程9012 – Amila 2012-04-09 11:56:55

回答

11

鑑於開始命令的輸出,這是正確啓動。當你運行狀態時,它似乎已經停止。你需要看看日誌文件:

/var/log/mongodb/mongodb.log 

這會告訴你爲什麼mongod停止。有幾個可能的原因,但沒有看到這個輸出,它將很難明確地回答。我一般建議:

  1. 不要使用bind_ip - 這是一般 更新一個壞主意(2016):刪除這一點,因爲有bind_ip造成我寫這篇文章早在2012年問題已得到修復,並它現在甚至在默認情況下在官方軟件包中。值得嘗試沒有設置作爲一個故障排除步驟,但一般來說不是一個壞主意。
  2. 檢查的東西,在端口27017
  3. 其他運行中顯式指定mongodb.conf文件中的端口,即使你想使用默認

最後,來看看這個答案如何修復文件的權限,只是這是一個問題的情況下(通常是在一些點作爲根運行引起的):

mongodb crashes after unexpected shutdown

+1

請注意,日誌是:'/ var/log/mongodb/mongod.log' – ZimSystem 2016-02-24 18:15:42

+0

這可能是您系統上的情況,但是如果您查看問題的粘貼配置,您會注意到日誌路徑爲明確設置爲我寫的:) – 2016-02-24 18:27:14

1

貌似蒙戈無法啓動,因爲某些原因。除了亞當已經提供的建議。

  • 檢查是否有寫入數據目錄的權限。
  • 檢查您是否有權限寫入/ var/log目錄。
  • mongod是以root身份還是作爲另一個用戶運行?檢查mongodb的初始化腳本 以查看運行的用戶是mongod。
9

對不起,如果你考慮這個「SO考古學」。

我不知道這是不是同一個問題,但我現在正面臨着類似的事情。 結束我的日誌:

Mon Nov 19 10:25:37 [initandlisten] exception in initAndListen: 12596 old lock file, terminating 
Mon Nov 19 10:25:37 dbexit: 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close listening sockets... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to flush diaglog... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close sockets... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: waiting for fs preallocator... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: lock for final commit... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: final commit... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: closing all files... 
Mon Nov 19 10:25:37 [initandlisten] closeAllFiles() finished 
Mon Nov 19 10:25:37 dbexit: really exiting now 

所以我覺得(關閉時爲例)鎖文件沒有正確關閉。您應該使用

mongod --repair 

但它並沒有爲我工作,所以我只是刪除/var/lib/mongodb/mongod.lock,然後啓動服務器。這不是安全的方式,如果您這樣做,數據庫中的數據可能會損壞。

7

對不起,重新刷新這個線程,但我把這個在這裏,因爲我遇到了完全相同的問題,這工作。

從這裏取:

http://pastebin.com/6hP42r69

sudo -u mongodb mongod --repair -dbpath /var/lib/mongodb 

我運行Linux Mint的15和電流MongoDB的版本。

2

我解決了這樣的

sudo rm -i /var/lib/mongodb/mongod.lock

這個手動刪除.lock文件,然後重新啓動

4

我有同樣的問題,我解決了只是運行:

$ service mongod restart

1

之一可能的情況可能是mongod.lock(這是導致我的問題)。

/var/log/mongodb/mongod.log

打開日誌文件查看是否有因爲mongod.lock文件的任何異常。複製它的位置,將其取下

sudo rm /var/lib/mongodb/mongod.lock

然後運行

sudo service mongod restart

要檢查是否現在一切都很好。

sudo service mongod status

預計產量將mongod start/running

1

有時問題可以通過不具有journaling繼續順利足夠的免費存儲空間所致。

沒過tail -100 /var/log/mongodb/mongod.log,發現這個錯誤:

exception in initAndListen: 15926 Insufficient free space for journals, terminating 請在/ var/lib中/的MongoDB /雜誌提供至少3379MB或者使用--smallfiles`

通過把smallfiles=true在我的MongoDB解決它配置文件/etc/mongod.conf

然後sudo rm /var/lib/mongodb/mongod.lock

,然後重新啓動使用service mongod start

希望這有助於MongoDB的實例。