我在Centos 7上安装了mongodb,一切正常。
但是如果我重新启动系统,mongodb就不能再启动了。如果我卸载并再次安装,工作正常。但是在重新启动之后,就不能再启动了。
当我尝试systemctl状态时,mongod.service显示:
mongod.service -高性能、无模式的面向文档的数据库加载:加载(/usr/lib/systemd/system/mongod.service;已启用;供应商预置:禁用)活动:自Dom 2016-11-27 09:49:36 BRT以来,活动:失败(结果:退出代码);12分钟前文档:https://docs.mongodb.org/manual进程: 1471 ExecStart=/usr/bin/mongod $OPTIONS run (code=exited,status=1/FAILURE)主要PID: 1471 (code=exited,status=1/FAILURE) 11月27日09:49:19 localhost.localdomain systemd1:启动高性能、无模式的面向文档的数据库.11月27日09:49:19 localhost.localdomain systemd1:启动高性能、无模式的面向文档的数据库.11月27日09:49:36 localhost.localdomain mongod1471:即将分叉子进程,等待服务器准备好连接。11月27日09:49:36 localhost.localdomain mongod1471:分叉进程: 2828 11月27日09:49:36 localhost.localdomain mongod1471:错误:子进程失败,与错误号1一起退出,11月27日09:49:36 localhost.localdomain systemd1: mongod.service:主进程退出,code=exited,状态=1/FAILURE 11月27 :49:49:36 localhost.localdomain systemd1:单元mongod.service进入失败状态。11月27日09:49:36 localhost.localdomain systemd1: mongod.service失败。
我已经试过了
*chcon -R -t mongod_var_lib_t /var/lib/mongo
*SElinux=disable
*chmod 7777 /var/lib/mongo
and nothing.我记得当这个错误出现在我格式化我的电脑之前,我需要用一个简单的命令对systemd设置权限。但我再也找不到了。
发布于 2016-12-19 10:19:40
这是官方的bug报告https://jira.mongodb.org/browse/SERVER-27241
在……里面
/usr/lib/systemd/system/mongod.service使用以下内容更新systemd服务,直到他们正式修复它
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
PermissionsStartOnly=true
ExecStartPre=/usr/bin/mkdir /var/run/mongodb
ExecStartPre=/usr/bin/chown -R mongod:mongod /var/run/mongodb
ExecStart=/usr/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid发布于 2016-11-27 16:28:30
我删除并重新安装MongoDB3.4服务器启动时: systemctl启动mongod.service,并启动ok。
这是/var/log/mongodb/mongod.log
2016-11-27T13:23:03.600-0300 i控制主机*服务器重新启动
2016-11-27T13:23:03.612-0300 I控制并侦听MongoDB启动: pid=8247 port=27017 dbpath=/var/lib/mongo 64位host=localhost.localdomain
2016-11-27T13:23:03.612-0300 i控制并收听db版本v3.4.0-rc5
2016-11-27T13:23:03.612-0300 i控制和收听git版本: 7df8fe1099135d137516f1670d2a0091ace63ca0
2016-11-27T13:23:03.612-0300 I控制并收听OpenSSL版本: OpenSSL 1.0.1e-fips 2013年2月11日
2016-11-27T13:23:03.612-0300 I控制和收听分配器: tcmalloc
2016-11-27T13:23:03.612-0300 I控制侦听模块:无
2016-11-27T13:23:03.612-0300 I控制并监听构建环境:
2016-11-27T13:23:03.612-0300我控制,听不听: rhel70
2016-11-27T13:23:03.612-0300我控制并听淀粉: x86_64
2016-11-27T13:23:03.612-0300我控制并听
target_arch: x86_64
我控制“运行”,配置:"/etc/mongod.conf",net:{ bindIp:"127.0.0.1",端口: 27017 },processManagement:{叉: true,pidFilePath:"/var/run/mongodb/mongod.pid“},存储:{ dbPath:”/dbPath:"/var/lib/mongo",日志:{ enabled: true },systemLog:{目标区:“文件”,logAppend: true,path:"/var/log/mongodb/mongod.log",安静: true }
2016-11-27T13:23:03.971-0300 i- setting侦听由“wiredTiger”存储引擎创建的/var/lib/mongo中检测到的数据文件,因此将活动存储引擎设置为“wiredTiger”。
听wiredtiger_open配置: create,cache_size=1329M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(快速),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),checkpoint=(wait=60,log_size=2GB),statistics_log=(checkpoint=)
2016-11-27T13:23:05.036-0300我控制并听
2016-11-27T13:23:05.036-0300 I控制enabled侦听**警告:数据库未启用访问控制。
2016年-11-27T13:23:05.036-0300 I控制并收听**
对数据和配置的读写访问是不受限制的。
2016-11-27T13:23:05.036-0300我控制并听
2016-11-27T13:23:05.036-0300我控制并听
2016-11-27T13:23:05.036-0300我控制enabled侦听**警告:/sys/内核/mm/透明_sys电/已启用是“始终”。
2016-11-27T13:23:05.036-0300我控制并听*我们建议把它设为“从不”
2016-11-27T13:23:05.036-0300我控制并听
2016-11-27T13:23:05.036-0300我控制并监听**警告:/sys/内核/mm/透明_hugepage/defrag是“始终”。
2016-11-27T13:23:05.036-0300我控制并听*我们建议把它设为“从不”
2016-11-27T13:23:05.036-0300我控制并听
2016-11-27T13:23:05.061-0300 i FTDC听录音,用目录'/var/lib/monenter code herego/diagnostic.data‘初始化实时诊断数据捕获。
2016-11-27T13:23:05.061-0300 i网络thread1在27017端口等待连接
当我重新启动系统时,Mongodb将不会再次启动。这是日志:
/var/log/mongodb/mongod.log:logAppend:真路径 *#在哪里以及如何存储数据。 2016-11-27T13:30:27.927-0300 i控制主机*服务器重新启动
2016-11-27T13:30:28.279-0300我控制主要错误:无法将pid文件写入/var/run/mongodb/mongod.pid:没有这样的文件或目录
这是我的/etc/mongod.conf
储存: dbPath: /var/lib/mongo 日志: enabled: true *#引擎: *# mmapv1: *# wiredTiger: *#进程的运行方式 processManagement:叉子:真#叉子并在后台运行 pidFilePath: /var/run/mongodb/mongod.pid # pidfile的位置 *#网络接口网络:端口: 27017 bindIp: 127.0.0.1 #只听本地接口,评论监听所有接口。 *#安全性: *# operationProfiling: *#复制: *#切分: *##企业专用选项 *# auditLog: *# snmp:
发布于 2016-12-08 15:35:31
我还在CentOS 7和MongoDB3.4上遇到了这种情况。我就是这样解决的:
/etc/mongod.conf文件,并将叉更改为false和pidFilePath,使其与dbPath相同(对我来说是/var/lib/mongo):/etc/mongo.conf:
storage: dbPath: /var/lib/mongo
processManagement: fork: false # fork and run in background pidFilePath: /var/lib/mongo/mongod.pid # location of pidfile
net: port: 27017 bindIp: 0.0.0.0
firewall-cmd --zone=public --permanent --add-port=27017/tcp; firewall-cmd --reload
tail -f /var/log/mongodb/mongod.log &
systemctl restart mongod; systemctl status mongod
NETWORK [thread1] waiting for connections on port 27017
它为我工作,我重新启动系统,我可以立即连接到芒果。
https://stackoverflow.com/questions/40829306
复制相似问题