mongodb重启失败--问题排查

用kill -9 杀进程mongodb后,重新启动,产生错误:about to fork child process, waiting until server is ready for connection此异常。

错误如图:
在这里插入图片描述

原因分析
出现这种错误的原因:

大部分是因为mongodb 服务在不正常关闭的情况下,mongod 被锁,想想可能是上次无故死机造成的.


情况1:一般般解决方法:

1、sudo kill -9 4018 杀掉子进程

2、进入mongodb安装目录,删除data目录下的mongod.lock文件

3、 bin目录下:./mongod --repair

4、再次重启 :./mongod -f mymongo.conf (其中mymongo.conf配置了我的数据库文件日志和数据db存储路径)

mongodb重启失败--问题排查_第1张图片

情况2:配置文件写错

出现以上错误,或者启动失败的情况,还有可能是你的数据库路径和log路径写错了;先检查一遍有没有错误,例如数据库文件的存放路径,不能是具体文件,而要是文件夹,但是日志的话要是具体文件,如下所示

dbpath=/data/mongodb/master  
logpath=/usr/local/mongodb/logs/master.log  
pidfilepath=/usr/local/mongodb/master.pid  

情况3:检查你的磁盘是不是写满了

我就遇到过这种情况,很坑人
检查磁盘使用情况
在这里插入图片描述
看到我的挂载的文件制定盘符已经写满了。
那么久检查一下磁盘空间使用情况吧:

使用find命令找到大于指定大小的文件:

[root@localhost data]# find / -type f -size +10G
将输出:

/usr/local/apache2/logs/access_log
马上可以通过du命令查看此文件的大小:

[root@localhost data]# du -h /usr/local/apache2/logs/access_log
24G     /usr/local/apache2/logs/access_log
我们可以重复执行find命令来查找大文件,例如:find / -type f -size +5G 找到大于5G的文件。 find / -type f -size +1G 找到大于1G的文件

释放完空间后(注意但你删除完大文件之后,可能没有办法立即释放磁盘空间,此时需要释放相应的应用对空间的link链接【停止服务】,这样才能释放空间)
mongodb重启失败--问题排查_第2张图片
然后再次重启MongoDB就可以正常启动了

你可能感兴趣的:(大数据技术,mongodb,数据库)