Insufficient free space for journal files

本文记录了一次MongoDB因磁盘空间不足导致服务崩溃的问题及解决过程。通过使用--smallfiles和--fork参数启动MongoDB服务,成功恢复了数据库运行。

   前两天请假了,公司的很多app突然挂掉了,说是mongodb莫名的挂掉了,赶紧进去看了看日志:

2015-08-31T14:06:20.070+0800 [initandlisten] ERROR: Insufficient free space for journal files
2015-08-31T14:06:20.070+0800 [initandlisten] Please make at least 3379MB available in /data/mongodb/data/journal or use --smallfiles
2015-08-31T14:06:20.070+0800 [initandlisten] 
2015-08-31T14:06:20.070+0800 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2015-08-31T14:06:20.070+0800 [initandlisten] dbexit: 
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: going to close listening sockets...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: going to flush diaglog...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: going to close sockets...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: waiting for fs preallocator...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: lock for final commit...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: final commit...
2015-08-31T14:06:20.071+0800 [initandlisten] shutdown: closing all files...
2015-08-31T14:06:20.071+0800 [initandlisten] closeAllFiles() finished
2015-08-31T14:06:20.071+0800 [initandlisten] journalCleanup...
2015-08-31T14:06:20.071+0800 [initandlisten] removeJournalFiles
2015-08-31T14:06:20.075+0800 [initandlisten] shutdown: removing fs lock...
2015-08-31T14:06:20.075+0800 [initandlisten] dbexit: really exiting now

查了查,原来是因为mongodb对硬盘的增长是以倍数增长的,每次增加2G,刚好不够了~

看到错误日志中解决的办法是使用 --smallfiles参数,然后我就试了试

./mongod --dbpath /data/mongodb/data --logpath /data/mongodb/mongodb.log --smallfiles

好是好了,可是一直在输出log,只要一终止,mongodb就又挂了,然后看了看mongodb的参数。找到了一个 --fork ,创建一个子进程参数。好的

./mongod --dbpath /data/mongodb/data --logpath /data/mongodb/mongodb.log --smallfiles --fork

搞定~~

 但是这次的事情能反映好多问题,运维方面的东西需要多多加强了~~,感觉自己简直弱爆了

 

  

转载于:https://www.cnblogs.com/qiangweikang/p/mongodb_01.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值