当前位置: 首页>>技术教程>>正文


sudo服务mongodb重新启动在Ubuntu 14.0.4中给出了“unrecognized service error”

, ,

问题描述

我刚刚在ubuntu 14.0.4上安装了mongoDB。我试图启动 shell 程序,但出现连接拒绝错误。

me@medev:/etc/init.d$ mongo
MongoDB shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

因此,我决定尝试重新启动服务,但这也失败了。我收到以下错误消息:

me@medev:/etc/init.d$ sudo service mongodb restart
mongodb: unrecognized service
me@medev:/etc/init.d$ 

这就是我的/var/log/mongodb/mongod.log中的内容-http://pastebin.com/MrHt8tce

到目前为止我尝试过的是:

我在这里找到了另一篇文章:can’t start mongodb as sudo,它对删除mongo锁定文件发表了评论。

我删除了锁定文件,然后重试了我的命令,但是它仍然失败,如下所示:

me@medev:/var/lib/mongodb$ sudo rm mongod.lock 
me@medev:/var/lib/mongodb$ ls
journal  local.0  local.ns  _tmp

me@medev:/var/lib/mongodb$ sudo service mongodb start
mongodb: unrecognized service

但是我可以使用/etc/init.d启动它,如下所示:

me@medev:/var/lib/mongodb$ sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
me@medev:/var/lib/mongodb$ ls
journal  local.0  local.ns  mongod.lock

me@medev:/var/lib/mongodb$ mongo
MongoDB shell version: 2.6.5
connecting to: test
> db
test
> 

我为什么不能使用service命令启动它的任何想法将不胜感激。从我读过的书中,我应该使用sudo服务mongodb

最佳答案

尝试这个:

mongodb而不是mongod

sudo service mongodb status

次佳答案

有一天我遇到了同样的错误,您应该使用此错误:

1.获取您的mongo服务状态:

 /etc/init.d/mongod status

要么

 sudo service mongod status

2.如果尚未开始修复,则如下所示:

sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongodb start

并再次检查服务是否再次启动(1)

第三种答案

对我而言,解决方案是更换

service mongod start

start mongod

第四种答案

您需要确保文件(例如/etc/init.d/mongodb)具有执行权限。

chmod +x /etc/init.d/mongodb

第五种答案

对于Debian,他们从2.4.x和2.6.x之间的10gen存储库中将初始化脚本/etc/init.d/mongodb重命名为/etc/init.d/mongod,并将默认配置文件重命名为/etc /mongodb。 .conf到/etc/mongod.conf,并且PID和锁定文件也从”mongodb”到”mongod”。这使升级变得很痛苦,而且我在任何地方的文档中都没有提到它。无论如何,解决方案是删除旧的”mongodb”版本:

update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf

现在,查看并查看需要保留哪些配置更改,并将其放在mongod.conf中。

然后:

rm /etc/mongodb.conf

现在你可以:

service mongod restart

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8829.html,未经允许,请勿转载。