MongoDB服务无法启动,原因居然是...
前言
某臺CentOS服務(wù)器上的MongoDB服務(wù)突然停止運行,于是登上去排查原因,接下來就是苦逼的爬坑之旅。
爬坑記錄
1、重啟服務(wù)
使用systemctl命令重啟服務(wù):
systemctl?restart?mongod.service查看系統(tǒng)日志:
journalctl?-ex只是提示啟動失敗,沒有輸出任何錯誤原因:
2、查看日志文件
于是準備查看MongoDB的日志,看看是否有錯誤信息。
但是發(fā)現(xiàn)日志文件較大,于是將原始log文件重命名,想在干凈的日志中查看:
mv?mongod.log?mongod.log_old沒想到,這里給自己挖了個大坑!
再次重啟服務(wù),還是理所當然的啟動失敗了。
有條不紊地去查看日志,自以為馬上可以找到原因了。結(jié)果,發(fā)現(xiàn)沒有寫任何日志,mongod.log文件大小為0。
換成使用mongod命令運行,效果也是一樣:
mongod?-f?./mongod.conf3、曙光乍現(xiàn)
由于沒有日志,不知問題在哪,完全沒有頭緒如何修復(fù)。
突然想到,mongod.log文件大小為0!!! 那是不是說明mongod.log文件寫不進去啊。
但是該文件是mongod自動創(chuàng)建的,應(yīng)該有訪問權(quán)限。
趕快使用mongod命令行參數(shù)運行,不寫日志文件,直接將日志輸出到屏幕:
mongod?--dbpath?xxx看到這句輸出,一切真相大白:
沒有磁盤空間了?!
趕快查看磁盤剩余空間:
df?-h確實是0:
結(jié)論
找到問題原因,解決方案當然很簡單了。
回顧整個過程,由于MongoDB的數(shù)據(jù)存儲是掛接專門的磁盤,所以系統(tǒng)運行不受影響,關(guān)鍵是系統(tǒng)日志也沒任何相關(guān)提示,導(dǎo)致開始時忽略了這一問題。
如果你覺得這篇文章對你有所啟發(fā),請關(guān)注我的個人公眾號”My IO“
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的MongoDB服务无法启动,原因居然是...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF MVVM实例三
- 下一篇: .NET 云原生架构师训练营(设计原则设