28

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

sudo service mongodb start

它向我展示了"mongodb start/running, process 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 。提前致谢。

4

5 回答 5

16

我刚碰到这个。问题可能出在您的 conf 文件中(显然,因为您重新安装了种子)

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

但是,删除 fork=True 行将缓解该问题。

看评论; 使用另一种解决方案,即使该解决方案已被接受。

于 2013-02-19T21:53:39.277 回答
12

您收到Unknown instance错误的原因upstart是跟踪分叉进程PID实例的错误。mongod但是对此的正确解决方案不是通过fork=true从配置中删除行(如@GoingTharn 建议)来在前台运行进程,而是通过添加来帮助upstart捕获PID分叉进程的权利

expect daemon

/etc/init/mongodb.conf

于 2014-01-25T18:51:38.393 回答
2

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

  • 删除了文件 mongod.lock(在我的例子中,这个文件位于 /var/lib/mongodb/)
  • 从我的 mongo 客户端使用以下命令

mongo——修复

这解决了这个问题。可能会注意到,在出现此问题之前,我曾发生过系统崩溃。因此,我认为问题是由于服务器恶魔的不正常关闭引起的。

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

谢谢。

于 2013-06-28T06:30:15.910 回答
2

我和你一样面对它。可能是因为我的电脑意外崩溃。我使用命令:sudo top(ubuntu),我发现 mongo 正在运行。我杀了它并启动了 mongo。一切都变得正确。

于 2013-11-28T13:18:16.230 回答
-2

我自己修好了。以下是我所做的:

 apt-get install mongodb

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

于 2012-11-09T10:36:43.250 回答