Ubuntu下MongoDB failed code=exited, status=XXX問題排查 以及 Ubuntu下檢視磁碟使用情況和快速清理方法
問題描述:早上泡了杯茶,前端同學通知我服務不可用了。艾,昨天還能用的,今天怎麼涼了,應該不是程式碼出了什麼問題,感覺問題出現在外部。上伺服器檢視了下今天的日誌,今天的 error log檔案有400K,往常都是個位數的,檢視之,果然,MongoDB無法連線,頻繁報錯。
問題排查:伺服器用的是 Ubuntu,通過 service mongod status 檢視mongod的狀態如下:
mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2018-08-28 22:17:37 CEST; 10s ago
Docs: https://docs.mongodb.org/manual
Process: 392 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=48)
Main PID: 392 (code=exited, status=48)
CPU: 33ms
aug 28 22:17:37 staging-manager-1 systemd[1]: Started MongoDB Database Server.
aug 28 22:17:37 staging-manager-1 mongod[392]: 2018-08-28T22:17:37.389+0200 I CONTROL [main] Automatically disabling TLS 1.0, to fo
aug 28 22:17:37 staging-manager-1 systemd[1]: mongod.service: Main process exited, code=exited, status=48/n/a
aug 28 22:17:37 staging-manager-1 systemd[1]: mongod.service: Unit entered failed state.
aug 28 22:17:37 staging-manager-1 systemd[1]: mongod.service: Failed with result 'exit-code'.
從上狀態可以看到 MongoDB的啟動命令如下
/usr/bin/mongod --config /etc/mongod.conf
接下來去檢視 mongod.conf 配置檔案,從中可以看到 MongoDB日誌的位置
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
找到了MongoDB系統日誌的位置,去檢視這個日誌就可以看到具體的報錯資訊了,如下:
2019-02-19T09:18:11.786+0800 E STORAGE [WTCheckpointThread] WiredTiger error (28) [1550539091:784271][1123:0x7fea309b1700], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_write, 579: /var/lib/mongodb/WiredTiger.turtle.set: handle-write: pwrite: failed to write 1077 bytes at offset 0: No space left on device Raw: [1550539091:784271][1123:0x7fea309b1700], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_write, 579: /var/lib/mongodb/WiredTiger.turtle.set: handle-write: pwrite: failed to write 1077 bytes at offset 0: No space left on device
直接看最後的: No space left on device。 哦,特喵的測試服磁碟又滿了。
分析磁碟佔用、找到大檔案快速清理看這篇:https://blog.csdn.net/weixin_37882382/article/details/87704533
然後,終於清理完成了,有空間了,開始重啟 MongoDB:
service mongod restart
艾,用 status命令檢視又沒有成功,再去看日誌,報如下錯誤:
2019-02-19T10:48:35.735+0800 E STORAGE [initandlisten] WiredTiger error (13) [1550544515:735833][8897:0x7f2977d70a40], wiredtiger_open: __posix_open_file, 715: /var/lib/mongodb/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1550544515:735833][8897:0x7f2977d70a40], wiredtiger_open: __posix_open_file, 715: /var/lib/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
意思為:mongod無許可權訪問 /var/lib/mongodb目錄,好的 分配許可權命令如下:
chown -R mongodb:mongodb /var/lib/mongodb
再重啟,終於 active了,over
相關文章
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- 監視磁碟使用情況
- 如何檢視Mac埠號以及佔用情況Mac
- Nodejs 和 Electron ubuntu下快速安裝NodeJSUbuntu
- 總結Linux下檢視記憶體使用情況的多種方法Linux記憶體
- ubuntu檢視硬碟掛載情況Ubuntu硬碟
- 在Linux中,如何檢視磁碟詳細使用情況?Linux
- Ubuntu1804下k8s-CoreDNS佔CPU高問題排查UbuntuK8SDNS
- Ubuntu 下 Composer 許可權問題Ubuntu
- 在Linux中,如何檢視系統的磁碟使用情況?Linux
- linux檢視埠占用情況Linux
- Ubuntu常用磁碟工具Disks、GParted和系統清理應用CleanerUbuntu
- ubuntu下解決埠被佔用問題Ubuntu
- 轉:Linux檢視GPU資訊和使用情況LinuxGPU
- ubuntu apt-get install xxx報錯無法下載的解決方法Ubuntuapt-get
- 兩種檢視錶空間使用情況的方法
- Ubuntu檢視埠和釋放埠Ubuntu
- Ubuntu檢視和釋放80埠Ubuntu
- Linux伺服器磁碟空間佔用情況分析與清理指南Linux伺服器
- Ubuntu 不同版本的下載 以及 換源Ubuntu
- requests在Ubuntu 16.04下的SSLV3問題Ubuntu
- 解決Ubuntu下MySQL遠端登入問題UbuntuMySql
- ubuntu下解決埠被佔用的問題Ubuntu
- Job for docker.service failed because the control process exited with error codeDockerAIError
- 如何使用du 和 ncdu 兩個命令檢查 Linux 磁碟使用情況?Linux
- Ubuntu下keras視覺化遇到pydot&graphviz無法匯入問題UbuntuKeras視覺化
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- 看下Linux 如何檢視埠占用情況Linux
- [ubuntu]fcitx5在chrome下輸入漏字問題UbuntuChrome
- Ubuntu下修改為永久DNS的方法UbuntuDNS
- Job for mysqld.service failed because the control process exited with error code...MySqlAIError
- ubuntu 下解決埠被佔用的情況Ubuntu
- 【Docker快速入門】在Ubuntu下安裝DockerDockerUbuntu
- ubuntu下vsftpd配置UbuntuFTP
- MongoDB 檢視DDL檢視not authorized on xxx to execute command { find: system.viewsMongoDBZedView
- 【問題覆盤】在Ubuntu 20.04下安裝OFED驅動Ubuntu
- 檢視埠被佔用情況,殺死埠
- 使用netstat命令檢視埠的使用情況