首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在CentOS 7上启动MongoDB 3.2.1

无法在CentOS 7上启动MongoDB 3.2.1
EN

Stack Overflow用户
提问于 2016-01-27 18:42:28
回答 3查看 28.1K关注 0票数 6

我按照本文档在CentOS 7上安装了MongoDB 3.2.1。安装完成后,我将var/lib/mongovar/log/mongodb/mongod.log的所有者和组更改为root:root

当我用service mongod start启动mongodb时,它只显示

代码语言:javascript
复制
Starting mongod (via systemctl):  Job for mongod.service failed. See 'systemctl status mongod.service' and 'journalctl -xn' for details.[FAILED]

我已经运行了这两个命令来显示详细信息。

systemctl status mongod.service展示

代码语言:javascript
复制
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
   Loaded: loaded (/etc/rc.d/init.d/mongod)
   Active: failed (Result: exit-code) since Wen 2016-01-27 18:32:46 CST; 14s ago
  Process: 24913 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)
 Main PID: 23711 (code=exited, status=0/SUCCESS)

1月 27 18:32:45 server1 systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
1月 27 18:32:45 server1 runuser[24920]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
1月 27 18:32:46 server1 mongod[24913]: Starting mongod: [FAILED]
1月 27 18:32:46 server1 systemd[1]: mongod.service: control process exited, code=exited status=1
1月 27 18:32:46 server1 systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..
1月 27 18:32:46 server1 systemd[1]: Unit mongod.service entered failed state.

journalctl -xn展示

代码语言:javascript
复制
-- Logs begin at 日 2016-01-24 16:33:05 CST, end at Wen 2016-01-27 18:32:46 CST. --
1月 27 18:32:15 server1 sshd[24879]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
1月 27 18:32:17 server1 sshd[24879]: Failed password for root from 182.100.67.59 port 10013 ssh2
1月 27 18:32:45 server1 sudo[24896]: root : TTY=pts/0 ; PWD=/var/log/mongodb ; USER=root ; COMMAND=/sbin/service mongod start
1月 27 18:32:45 server1 systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
-- Subject: Unit mongod.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mongod.service has begun starting up.
1月 27 18:32:45 server1 runuser[24920]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
1月 27 18:32:46 server1 runuser[24920]: pam_unix(runuser:session): session closed for user mongod
1月 27 18:32:46 server1 mongod[24913]: Starting mongod: [FAILED]
1月 27 18:32:46 server1 systemd[1]: mongod.service: control process exited, code=exited status=1
1月 27 18:32:46 server1 systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..
-- Subject: Unit mongod.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mongod.service has failed.
-- 
-- The result is failed.
1月 27 18:32:46 server1 systemd[1]: Unit mongod.service entered failed state.

我使用ssh密钥访问服务器,没有密码。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-27 18:58:34

是否有理由将所有权更改为root?

/var/lib/mongo/var/log/mongodb都应该是mongodb用户可写的。

默认情况下为mongodb:mongodb。查看哪个用户在/etc/init.d/mongodb中运行mongodb服务。如果它类似于DAEMONUSER=${DAEMONUSER:-mongodb},则将您的目录切换回此用户。

票数 9
EN

Stack Overflow用户

发布于 2016-08-30 05:20:46

在CentOS 7中默认启用的selinux权限可能会导致非常类似的问题。可以通过禁用selinux或使用以下命令将正确的上下文添加到mongo数据库路径来修复此问题:

代码语言:javascript
复制
chcon -R -t mongod_var_lib_t /var/lib/mongod
票数 3
EN

Stack Overflow用户

发布于 2017-04-06 04:36:44

我尝试了人们提到的所有东西,但都没有成功,所以我结束了为它构建一个简单的单元服务文件,因为在我的例子中,问题看起来与初始化脚本(https://jira.mongodb.org/plugins/servlet/mobile#issue/SERVER-18439/comment/915785)有关。

我在这里创建了服务文件:

代码语言:javascript
复制
/etc/systmd/system/mongodb.service

以此为内容:

代码语言:javascript
复制
[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target
[Service]
Type=forking
PIDFile=/var/run/mongodb/mongod.pid
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongod
Group=mongod
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target

在那之后,我所要做的就是这样开始:

代码语言:javascript
复制
$ sudo systemctl start mongodb

我希望这对任何人都有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35035088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档