停止:未知实例mongodb(Ubuntu)

时间:2012-11-09 07:10:02

标签: mongodb ubuntu service restart

我是Mongodb的新手。当我运行以下命令时:

sudo service mongodb start

它显示“mongodb开始/运行,过程3566”。但是当我尝试通过给出以下命令来停止时:

sudo service mongodb stop

显示停止:未知实例:。有人知道如何解决这个问题。

如果我给 sudo service mongodb restart ,我收到以下消息:

stop: Unknown instance: 
mongodb start/running, process 3644

PS:如果我只使用 mongod ,我可以启动服务器并通过提供 mongo 连接mongo shell。

请建议我如何解决问题以及如何在提供 service mongodb start 后连接mongo shell。提前谢谢。

5 个答案:

答案 0 :(得分:16)

我刚碰到这个。 机密是你的conf文件中的问题(显然,因为你重新安装了种子)

在mongodb.conf中,如果将其作为服务调用,则不要设置fork = true。这将阻止服务调用通过服务mongodb.conf status / stop / restart访问它。

删除fork = True行会缓解此问题。

见评论;使用其他解决方案,即使这个被接受。

答案 1 :(得分:12)

您收到Unknown instance错误的原因是因为upstart正在跟踪分叉PID进程实例的错误mongod。但正确的解决办法是不通过从@GoingTharn建议的配置中删除fork=true行来处理前台进程,而是帮助upstart捕获分叉进程的正确PID通过添加

expect daemon

/etc/init/mongodb.conf

答案 2 :(得分:2)

我遇到了完全相同的问题并做了以下事情:

  • 删除文件mongod.lock(在我的情况下,此文件位于/ var / lib / mongodb /)
  • 使用了我的mongo客户端的以下命令
  

mongo --repair

这解决了这个问题。可能会注意到,在出现此问题之前,我遇到了系统崩溃。因此,我认为,问题是由于服务器恶魔的不洁关闭造成的。

如果您不确定原因,您可能希望查看日志文件(在我的情况下,我在/ var / log / mongodb /下找到它)。这可能会给你一些有用的提示。

感谢。

答案 3 :(得分:2)

我面对的就像你一样。也许是因为我的计算机意外崩溃了。我使用命令:sudo top(ubuntu),我发现mongo正在运行。我杀了它并启动mongo.Every thing right right

答案 4 :(得分:-2)

我自己修理了它。以下是我的所作所为:

 apt-get install mongodb

覆盖.conf文件。之后一切正常。我希望这会对某人有所帮助。