前言
首先下载的mongodb有bug,需要自己手动fix,这种只是对特定版本有问题,并非所有版本都有这个问题,
SeLinux
另外,一定要把selinux设置为disabled或者permissive
问题描述
sudo systemctl status mongod.service
看到服务起不来,于是打开log文件:
cat /var/log/mongodb/mongod.log
有如下问题,是因为无法创建pid文件
***** SERVER RESTARTED *****
ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
Centos7系统每次会把/var/run下面的一些项目清理,所以下次重起来的时候就没有了这个文件了,现在的systemd启动的话,没有什么好办法处理这个文件,因为systemd启动就是执行一个命令:
/usr/bin/mongod --quiet -f /etc/mongod.conf run
处理方案
自己创建一个永久的文件路径,以及这个pid文件
修改配置文件/etc/mongod.conf里面的pid路径,然后修改systemd条目的路径。
具体操作
1.创建文件,并修改权限
[azuo1228@ecs-ee2fe26e /]$ sudo mkdir /mongod
[azuo1228@ecs-ee2fe26e /]$ sudo touch /mongod/mongod.pid
[azuo1228@ecs-ee2fe26e /]$ sudo chown -R mongod:mongod /mongod
2.修改配置
[azuo1228@ecs-ee2fe26e /]$ sudo vim /etc/mongod.conf
把里面的:
pidFilePath: /var/run/mongodb/mongod.pid
修改为创建的文件:
pidFilePath: /mongod/mongod.pid
3.修改systemd条目
[azuo1228@ecs-ee2fe26e ~]$ sudo vim /etc/systemd/system/multi-user.target.wants/mongod.service
把里面的:
PIDFile=/var/run/mongodb/mongod.pid
修改为制定的文件的路径:
PIDFile=/mongod/mongod.pid
4. reload systemd
[azuo1228@ecs-ee2fe26e ~]$ sudo systemctl daemon-reload
5. 启动mongod或者重起电脑
[azuo1228@ecs-ee2fe26e ~]$ sudo service mongod start
6.查看状态
[azuo1228@ecs-ee2fe26e ~]$ sudo systemctl status mongod.service
NOTE 1:
mongodb安装更新之后,mongo.conf不会更新,但是,会更新
/etc/systemd/system/multi-user.target.wants/mongod.service
,装一个新的
/etc/systemd/system/multi-user.target.wants/mongod.service
所以,也会起不来。
如果有按照上面设置过conf文件,也需要再次修改这个systemd文件。
NOTE 2:
更新的mongodb 3.4.1,已经修正了这个问题
[azuo1228@Server ~]$ sudo rpm -qa | grep mongo
mongodb-org-3.4.1-1.el7.x86_64
mongodb-org-shell-3.4.1-1.el7.x86_64
mongodb-org-tools-3.4.1-1.el7.x86_64
mongodb-org-mongos-3.4.1-1.el7.x86_64
mongodb-org-server-3.4.1-1.el7.x86_64
[azuo1228@Server ~]$
文本框怎么居中对齐(文本框怎么居中对齐word)
文本框怎么居中对齐,以WPS为例,文本框居中对齐的方法:1、启动wps,新建一个幻灯片,把它设置为空白版式。2、插入一个横向文本框。单击插入命令,单击文本框旁边的三角形按钮,选择横向文本框。3、设置字(0)人阅读时间:2023-03-16话费怎么充q币(电信话费怎么充q币)
话费怎么充q币,话费充值Q币的方法如下:1、首先进入腾讯充值中心官网,然后点击“Q币充值”选项。2、接着登录QQ,再选择想要充值的金额。3、其次在“更多方式”下选择“手机”,并选择运营商。4、(0)人阅读时间:2023-03-16怎么判断token过期(如何判断token过期)
怎么判断token过期,以微信为例,判断token过期的方法:1、把token放到session里;2、如果会话过期,token也就会过期使用的时候只要判断当前会话是否有效即可。微信(wechat)是腾讯公司于2011年1月21日推(0)人阅读时间:2023-03-16三星手机怎么开应用分身(三星手机应用程序分身怎么弄)
三星手机怎么开应用分身,以三星note10为例,三星手机开应用分身的方法是:1、在标准模式下,点击【设置】。2、点击【高级功能】。3、向上滑动屏幕,点击【应用分身】。4、点亮想要开启应用分身软件右侧的【(0)人阅读时间:2023-03-16文本框怎么居中对齐(文本框怎么居中对齐word)
文本框怎么居中对齐,以WPS为例,文本框居中对齐的方法:1、启动wps,新建一个幻灯片,把它设置为空白版式。2、插入一个横向文本框。单击插入命令,单击文本框旁边的三角形按钮,选择横向文本框。3、设置字..2023-03-16话费怎么充q币(电信话费怎么充q币)
话费怎么充q币,话费充值Q币的方法如下:1、首先进入腾讯充值中心官网,然后点击“Q币充值”选项。2、接着登录QQ,再选择想要充值的金额。3、其次在“更多方式”下选择“手机”,并选择运营商。4、..2023-03-16怎么判断token过期(如何判断token过期)
怎么判断token过期,以微信为例,判断token过期的方法:1、把token放到session里;2、如果会话过期,token也就会过期使用的时候只要判断当前会话是否有效即可。微信(wechat)是腾讯公司于2011年1月21日推..2023-03-16三星手机怎么开应用分身(三星手机应用程序分身怎么弄)
三星手机怎么开应用分身,以三星note10为例,三星手机开应用分身的方法是:1、在标准模式下,点击【设置】。2、点击【高级功能】。3、向上滑动屏幕,点击【应用分身】。4、点亮想要开启应用分身软件右侧的【..2023-03-16