前言
首先下載的mongodb有bug,需要自己手動(dòng)fix,這種只是對(duì)特定版本有問(wèn)題,并非所有版本都有這個(gè)問(wèn)題,
SeLinux
另外,一定要把selinux設(shè)置為disabled或者permissive
問(wèn)題描述
sudo systemctl status mongod.service
看到服務(wù)起不來(lái),于是打開(kāi)log文件:
cat /var/log/mongodb/mongod.log
有如下問(wèn)題,是因?yàn)闊o(wú)法創(chuàng)建pid文件
***** SERVER RESTARTED *****
ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
Centos7系統(tǒng)每次會(huì)把/var/run下面的一些項(xiàng)目清理,所以下次重起來(lái)的時(shí)候就沒(méi)有了這個(gè)文件了,現(xiàn)在的systemd啟動(dòng)的話,沒(méi)有什么好辦法處理這個(gè)文件,因?yàn)閟ystemd啟動(dòng)就是執(zhí)行一個(gè)命令:
/usr/bin/mongod --quiet -f /etc/mongod.conf run
處理方案
自己創(chuàng)建一個(gè)永久的文件路徑,以及這個(gè)pid文件
修改配置文件/etc/mongod.conf里面的pid路徑,然后修改systemd條目的路徑。
具體操作
1.創(chuàng)建文件,并修改權(quán)限
[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
修改為創(chuàng)建的文件:
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. 啟動(dòng)mongod或者重起電腦
[azuo1228@ecs-ee2fe26e ~]$ sudo service mongod start
6.查看狀態(tài)
[azuo1228@ecs-ee2fe26e ~]$ sudo systemctl status mongod.service
NOTE 1:
mongodb安裝更新之后,mongo.conf不會(huì)更新,但是,會(huì)更新
/etc/systemd/system/multi-user.target.wants/mongod.service
,裝一個(gè)新的
/etc/systemd/system/multi-user.target.wants/mongod.service
所以,也會(huì)起不來(lái)。
如果有按照上面設(shè)置過(guò)conf文件,也需要再次修改這個(gè)systemd文件。
NOTE 2:
更新的mongodb 3.4.1,已經(jīng)修正了這個(gè)問(wèn)題
[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 ~]$
總結(jié)
以上就是關(guān)于解決Centos 7上面Mongodb開(kāi)機(jī)無(wú)法自啟動(dòng)的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- centos8 使用yum 安裝 mongodb 4.2的方法
- Centos 7.2中MongoDB數(shù)據(jù)庫(kù)的安裝與卸載教程
- CentOS 7下MongoDB的安裝配置詳解
- CentOS 安裝 Mongodb詳解(在線和離線)
- CentOS 7下用yum快速安裝MongoDB的方法教程
- 阿里云CentOS7安裝Mongodb教程
- centos7 + php7 lamp全套最新版本配置及mongodb和redis教程詳解
- Centos7 yum安裝mongodb實(shí)現(xiàn)步驟詳解