Centos 7下Mongodb開(kāi)機(jī)無(wú)法自啟動(dòng)的解決方法
前言
首先下載的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ì)腳本之家的支持。
相關(guān)文章
MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記
這篇文章主要介紹了MongoDB 復(fù)制(副本集),結(jié)合實(shí)例形式分析了MongoDB數(shù)據(jù)庫(kù)復(fù)制的相關(guān)原理、配置、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-10-10Mac下安裝配置mongodb并創(chuàng)建用戶的方法
最近在在學(xué)習(xí)nodejs,相比mysql,mongodb與nodejs搭配更合適,存儲(chǔ)數(shù)據(jù)格式也比較接近JS對(duì)象。下面這篇文章主要給大家介紹了關(guān)于在Mac下安裝配置mongodb并創(chuàng)建用戶的相關(guān)資料,需要的朋友可以參考下2018-05-05在mac系統(tǒng)下安裝與配置mongoDB數(shù)據(jù)庫(kù)
這篇文章主要介紹了在mac系統(tǒng)下安裝與配置mongoDB數(shù)據(jù)庫(kù)的操作步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹
這篇文章主要介紹了Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10MongoDB的復(fù)合通配符索引及應(yīng)用場(chǎng)景
MongoDB的復(fù)合通配符索引為處理復(fù)雜和多變的數(shù)據(jù)結(jié)構(gòu)提供了靈活的索引解決方案,通過(guò)合理使用復(fù)合通配符索引,可以顯著提高查詢效率并減少索引維護(hù)成本,本文給大家介紹MongoDB的復(fù)合通配符索引,感興趣的朋友跟隨小編一起看看吧2024-08-08