[英]Can't start mongoDB as a service
我想將mongoDB作為服務運行。 實例應被配置為一個單節點replicaset能夠一個elasticSearch實例與連接到它的連接器 。
所以我擴展了mongod.conf:
...
replication:
replSetName: "singleNodeRepl"
...
我嘗試了不同的方法來啟動mongod,但沒有任何作用。
當我嘗試通過$ service mongod start
,拋出以下錯誤:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.106" (uid=1225 pid=26018 comm="start mongod ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
當我以sudo
執行此命令時(什么不是最佳實踐,對吧?),顯示其“運行”和后續消息:
mongod start/running, process 26034
但是過程26034不存在並且ps aux | grep mongo
ps aux | grep mongo
也什么都沒顯示?!
接下來嘗試:將其作為普通應用程序運行
mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
此處顯示以下異常:
2016-04-08T14:31:35.192+0200 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-04-08T14:31:35.192+0200 I CONTROL [initandlisten] dbexit: rc: 100
當我運行~$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
,一切都很好,但那不是我的目標:它不是作為服務運行而是以root身份運行。
mongod-logfile經常保持不變。 但最后幾行很好奇:
2016-04-08T14:24:56.242+0200 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-04-08T14:24:56.242+0200 I - [initandlisten] Fatal Assertion 28578
2016-04-08T14:24:56.242+0200 I - [initandlisten]
***aborting after fassert() failure
一個mongodb-27017.sock存在,但刪除(在任何地方建議)沒有幫助。
我認為這是一個非常簡單的錯誤......但是哪一個?
[編輯:]我發現,我或許應該指定config-location。 所以(工作但很糟糕)命令看起來像:
$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl --config /etc/mongod.conf
這會帶來以下錯誤:
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
這是一個舊的東西,這是這個問題的解決方案,突然不再工作了!?
我有問題停止並啟動mongod作為服務。 事實證明,升級腳本存在問題。 我發現這個討論似乎解決了這個問題。
建議的解決方案非常多:(現在復制粘貼)
vim /etc/init.d/mongod
查找stop()函數(以及用於良好度量的start()函數)並刪除以下行中$ PIDFILE周圍的引號。
killproc -p $PIDFILE -d 300 /usr/bin/mongod
做這個:
sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongodb start
如果這不起作用,請告訴我!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.