Mongo服务重启异常问题的处理方法


Posted in MongoDB onJuly 01, 2021

发现问题

现在公司的服务器经常性断电,所以要经常性重启所有的服务,然而这些redis、mysql、mongo等服务中,mongo经常性出现重启失败的情况,根据之前的经验和网络上帖子的信息,这里记录一下总结;

首先说明一下,这里安装的服务都是通过yum 或者 apt 安装的,这是我一直推荐和使用的操作,因为这样安装整洁、该放什么类型的文件到哪个目录下都是一样的(如:/var/log/xxx/xxx.log)

报错主要问题如下:

[root@localhost mongo]# systemctl status mongod
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 一 2021-06-28 14:32:51 CST; 6s ago
     Docs: https://docs.mongodb.org/manual
  Process: 3351 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=1/FAILURE)
  Process: 3348 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3345 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3343 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

6月 28 14:32:51 localhost systemd[1]: Starting MongoDB Database Server...
6月 28 14:32:51 localhost mongod[3351]: about to fork child process, waiting until server is ready for connections.
6月 28 14:32:51 localhost mongod[3351]: forked process: 3354
6月 28 14:32:51 localhost mongod[3351]: ERROR: child process failed, exited with 1
6月 28 14:32:51 localhost mongod[3351]: To see additional information in this output, start without the "--fork" option.
6月 28 14:32:51 localhost systemd[1]: mongod.service: control process exited, code=exited status=1
6月 28 14:32:51 localhost systemd[1]: Failed to start MongoDB Database Server.
6月 28 14:32:51 localhost systemd[1]: Unit mongod.service entered failed state.
6月 28 14:32:51 localhost systemd[1]: mongod.service failed.

看到异常的发生,并不能从其中获取到非常有效的信息,那就先去看下日志,在日志文件中可以看到一些有用的信息(这里没有及时记录截图,就先不放代码或截图了)

处理步骤:

使用mongo提供的修复工具,执行一下命令:

mongod --repair -f /etc/mongod.conf

这里说明下,有的帖子说,执行第一步之后,执行启动命令(如下所示:),其中携带指向新的dbpath和logpath参数,这样也能起来,但是你数据就丢了,而且不能每次都给指向新的目录吧。

mongod --port 27017 --dbpath /data/db  --logpath /var/log/mongod.log --fork

检查mongo的dbpath目录(默认:/var/lib/mongodb)下是否存在mongod.lock文件,如果有,将其删除;

检查dbpath目录(默认:/var/lib/mongodb),日志目录(默认:/var/lib/mongo)权限的问题,是否mongod.mongod 拥有操作权限,如果没有,就给mongod.mongod授权:

chown -Rc mongod. /var/log/mongodb

chown -Rc mongod. /var/lib/mongo

以上步骤执行完成,就能够重新启动mongodb服务了。

总结

到此这篇关于Mongo服务重启异常问题处理的文章就介绍到这了,更多相关Mongo服务重启异常内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MongoDB 相关文章推荐
MongoDB使用profile分析慢查询的步骤
Apr 30 MongoDB
详解MongoDB的条件查询和排序
Jun 23 MongoDB
mongodb数据库迁移变更的解决方案
Sep 04 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 MongoDB
centos8安装MongoDB的详细过程
Oct 24 MongoDB
剖析后OpLog订阅MongoDB的数据变更就没那么难了
Feb 24 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 MongoDB
MongoDB支持的索引类型
Apr 11 MongoDB
SpringBoot集成MongoDB实现文件上传的步骤
Apr 18 MongoDB
详解MongoDB排序时内存大小限制与创建索引的注意事项
May 06 MongoDB
MongoDB安装使用并实现Python操作数据库
浅析MongoDB之安全认证
Jun 26 #MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 #MongoDB
详解MongoDB的条件查询和排序
Jun 23 #MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 #MongoDB
MongoDB 常用的crud操作语句
Jun 20 #MongoDB
MongoDB数据库常用的10条操作命令
Jun 18 #MongoDB
You might like
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
关于爱情的广播稿
2014/01/16 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
会计工作决心书
2014/03/11 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
八年级作文之感恩
2019/11/22 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL