您的当前位置:首页正文

Centos7下Mongodb开机无法自启动的解决方法

2023-06-22 来源:年旅网
Centos7下Mongodb开机⽆法⾃启动的解决⽅法

前⾔

⾸先下载的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 mongomongodb-org-3.4.1-1.el7.x86_64

mongodb-org-shell-3.4.1-1.el7.x86_64mongodb-org-tools-3.4.1-1.el7.x86_64mongodb-org-mongos-3.4.1-1.el7.x86_64mongodb-org-server-3.4.1-1.el7.x86_64[azuo1228@Server ~]$

总结

以上就是关于解决Centos 7上⾯Mongodb开机⽆法⾃启动的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

因篇幅问题不能全部显示,请点此查看更多更全内容