MongoDB错误:98无法锁定文件:/data/db/mongod.lock,资源暂时不可用。是否已经运行了mongod实例?

6

2017-06-12T13:06:18.407+0300 I STORAGE [initandlisten] 在初始化和监听中出现异常:98无法锁定文件:/data/db/mongod.lock,资源暂时不可用。是否已经运行mongod实例?正在终止。
2017-06-12T13:06:18.407+0300 I NETWORK [initandlisten] 关闭:将关闭监听套接字...
2017-06-12T13:06:18.407+0300 I NETWORK [initandlisten] 关闭:将刷新日志...
2017-06-12T13:06:18.407+0300 I CONTROL [initandlisten] 现在退出
2017-06-12T13:06:18.407+0300 I CONTROL [initandlisten] 带有代码100的关闭


谢谢@NeilLunn,我会尝试的。 - Zainab Hammami
是的,我有/data/db目录,但是我如何检查权限?抱歉,我对此完全不了解。@harshavmb - Zainab Hammami
请运行cat /data/db/mongod.lock命令并将输出粘贴?另外,您能告诉我如何运行mongod进程吗?我还期望得到ps -eaf | grep mongod的输出。 - harshavmb
@harshavmb 我无法粘贴所有内容,因为字符限制,但问题是我从运行你告诉我的命令中得到的东西大致如下:"-rw-r--r-- 1 root wheel 49 Jun 10 17:17 WiredTiger",以及许多类似的行。 - Zainab Hammami
哇,你太厉害了,非常感谢,它已经起作用了!@harshavmb,我以为我得重新安装Mongo,谢谢 ^_^ - Zainab Hammami
显示剩余15条评论
1个回答

26

错误明确地指出:

在 initAndListen 中的异常:98 无法锁定文件: /data/db/mongod.lock 资源暂时不可用。mongod 实例正在运行吗?终止

一个 mongod 实例已经在运行并且持有 mongod.lock 文件的锁定。运行 ps -eaf | grep mongod 命令查找正在运行的实例。如果正在运行,请使用上述 grep 命令获取的进程ID(pID)杀死进程 sudo kill <pID>

然后,删除 mongod.lock 文件,因为 mongod 没有正常关闭。删除锁定文件后启动 mongod 进程 sudo mongod

希望这可以帮助你!


如果我的回答对您有帮助,请接受它。谢谢。 - harshavmb
这很好,但是当您拥有Docker Swarm并自动增加/减少副本数量时该怎么办? - Nedim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接