sudo service mongodb restart在ubuntu 14.0.4中给出了“无法识别的服务错误”

我刚在Ubuntu 14.0.4上安装了mongoDB。 我试图启动壳,但我得到一个连接拒绝错误。

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

到目前为止我已经尝试过了:

我在这里find了另一个post: 无法启动mongodb作为sudo ,发表了关于删除mongolocking文件的评论。

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

 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, eg 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, eg 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 > 

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

尝试这个:

mongodb而不是mongod

 sudo service mongodb status 

我有一天有同样的错误你应该使用这个:

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

  /etc/init.d/mongod status 

要么

  sudo service mongod status 

如果它没有开始修复它像这样:

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

并再次检查服务是否重新开始(1)

对我来说,解决scheme是取代

 service mongod start 

 start mongod 

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

 chmod +x /etc/init.d/mongodb 

对于Debian来说,在2.4.x和2.6.x之间的10gen repo中,他们将init脚本/etc/init.d/mongodb重命名为/etc/init.d/mongod,并将/ etc / mongodb中的默认configuration文件.confconfiguration到/etc/mongod.conf,以及从“mongodb”到“mongod”的PID和locking文件。 这使得升级变得痛苦,我不认为它在任何地方的文档中都提到过。 无论如何,解决scheme是删除旧的“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 

现在,查看需要保留的configuration更改,然后将其放入mongod.conf中。

然后:

 rm /etc/mongodb.conf 

现在你可以:

 service mongod restart 

对我来说没有任何帮助,但经过与expirienced devops队友的咨询,我已经解决了问题

创build带有内容的/lib/systemd/system/mongod.service文件

 [Unit] Description=High-performance, schema-free document-oriented database After=network.target Documentation=https://docs.mongodb.org/manual [Service] User=mongodb Group=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target 

那么启动/停止命令应该工作

 $ sudo service mongod start 

供参考 – 我已经安装了Ubuntu 14.04 LTS,MongoDB 3.2.9

 deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse 

我想你可能已经安装了错误的系统发行版的mongodb版本。

看看如何为Ubuntu和Debian安装mongodb:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/ http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

我有一个类似的问题,发生了什么事,是我在Debian安装Ubuntu的软件包

试试这个命令。

chmod + x /etc/init.d/mongodb

sudo服务mongod重启