我最近在Amazon Linux上安装了mongoDB,使用service命令可以启动mongod。
sudo service mongod start
以上操作都如预期一样。
今天我按照mongodb官网的说明,在Centos 7中安装了mongoDB。
现在当我使用与上述相同的命令启动服务时,服务无法启动。
我已经进行了以下检查,它们看起来是正确的,所以不确定出了什么问题。
- 数据文件夹路径即/data/db的所有者为mongod:mongod用户
- /etc/mongod.conf中的dbpath设置为/data/db
- /etc/init.d/mongod脚本中的用户设置为mongod:mongod
日志记录如下:
[centos@ip-172-31-16-240 init.d]$ sudo journalctl -xn -- 日志从 UTC 时间 2015 年 3 月 26 日星期四 11:45:57 开始,到 UTC 时间 2015 年 3 月 26 日星期四 12:33:34 结束。-- Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal mongod[1645]: ******>>>> mongod 用户是 mongod Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal runuser[1654]: pam_unix(runuser:session): 为用户 mongod 打开了会话 (uid=0) Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal runuser[1654]: pam_unix(runuser:session): 为用户 mongod 关闭了会话 Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal mongod[1645]: 正在启动 mongod: [FAILED] Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal systemd[1]: mongod.service: 控制进程已退出,代码=exited status=1 Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal systemd[1]: 无法启动 SYSV:Mongo 是一种可伸缩的面向文档的数据库。 -- 主题: Unit mongod.service 失败 -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit mongod.service 失败。 -- -- 结果为失败。 Mar 26 12:26:44 ip-172-31-16-240.ap-southeast-1.compute.internal systemd[1]: Unit mongod.service 进入失败状态。 Mar 26 12:26:49 ip-172-31-16-240.ap-southeast-1.compute.internal sudo[1660]: centos : TTY=pts/0 ; PWD=/etc/rc.d/init.d ; USER=root ; COMMAND=/bin/journalctl -xn Mar 26 12:28:00 ip-172-31-16-240.ap-southeast-1.compute.internal sudo[1664]: centos : TTY=pts/1 ; PWD=/home/centos ; USER=root ; COMMAND=/bin/less /var/log/mongodb/mongod.log Mar 26 12:33:34 ip-172-31-16-240.ap-southeast-1.compute.internal sudo[1668]: centos : TTY=pts/0 ; PWD=/etc/rc.d/init.d ; USER=root ; COMMAND=/bin/journalctl -xn [centos@ip-172-31-16-240 init.d]$
然而,如果我使用sudo mongod,mongod进程将启动。
有什么想法,为什么service命令无效?