linux - 无法将 Mongo 作为服务运行

标签 linux mongodb service centos

我的环境

  • CentOS(我不确定确切的版本,因为它在 iPage 的 VPS 服务器上。)

我的目标

将 mongod 作为服务启动:

sudo service mongod start

(一旦我开始工作,我想让 mongod 在服务器重新启动时通过 chkconfig 启动:

sudo /sbin/chkconfig --level 345 mongod on

)

发生了什么

它返回 [FAILED],我在日志中收到此消息:

2014-08-27T03:17:40.126+0000 ***** SERVER RESTARTED *****
2014-08-27T03:17:40.132+0000 [initandlisten] MongoDB starting : pid=3950 port=27017    dbpath=/var/lib/mongo 64-bit host=162-144-108-42.ipage.com
2014-08-27T03:17:40.132+0000 [initandlisten] db version v2.6.4
2014-08-27T03:17:40.132+0000 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee910
2014-08-27T03:17:40.132+0000 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-08-27T03:17:40.132+0000 [initandlisten] allocator: tcmalloc
2014-08-27T03:17:40.132+0000 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, storage: { dbPath: "/var/lib/mongo" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-08-27T03:17:40.133+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2014-08-27T03:17:40.133+0000 [initandlisten] dbexit: 
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: going to close listening sockets...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: going to flush diaglog...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: going to close sockets...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: waiting for fs preallocator...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: lock for final commit...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: final commit...
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: closing all files...
2014-08-27T03:17:40.133+0000 [initandlisten] closeAllFiles() finished
2014-08-27T03:17:40.133+0000 [initandlisten] shutdown: removing fs lock...
2014-08-27T03:17:40.133+0000 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
2014-08-27T03:17:40.133+0000 [initandlisten] dbexit: really exiting now

我尝试过的:

  • 搜索当前进程未找到任何 mongod 进程:

    ps 辅助 | grep mongod

  • 删除 mongod.lock 文件没有帮助:

    sudo rm mongod.lock

  • 更改数据库的所有者没有帮助:

    sudo chown -R my_username/var/lib/mongo

最佳答案

这看起来像是权限问题:

2014-08-27T03:17:40.133+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

假设您已经删除了 .lock 文件,请查看运行 mongo 的用户是否有权写入该文件夹。

您正在使用 chown 和您的用户名,但似乎用户必须是 mongo,而不是您的用户名。当服务尝试启动时检查所有者。

关于linux - 无法将 Mongo 作为服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518506/

相关文章:

android - MyLocationOverlay 与 LocationManager 和后台服务

c - zlib 中解压消息的问题

ruby-on-rails - 设置 mongoid 哈希字段值

php - 如何在 php 或使用 linux 命令中查找用户修改过的文件?

javascript - 如何查询每天特定时间创建的所有文档?

javascript - 你能让 mongo 默认生成 _ids 作为字符串吗?

c# - Windows服务是否需要.Net Runtime

android - 如何阻止应用程序在 Android 中启动

linux - 在保留格式的同时按时间顺序对文本 block 进行排序

python-3.x - Python 多线程与 pynput.keyboard.listener