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 orm框架的注意事项及简单使用
Jun 20 MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
centos8安装MongoDB的详细过程
Oct 24 MongoDB
MongoDB连接数据库并创建数据等使用方法
Nov 27 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
剖析后OpLog订阅MongoDB的数据变更就没那么难了
Feb 24 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 MongoDB
mongoDB数据库索引快速入门指南
Mar 23 MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
Apr 12 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
完美解决PHP中文乱码
2009/11/26 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
简单的js分页脚本
2009/05/21 Javascript
Prototype 学习 Prototype对象
2009/07/12 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
Python实现控制台输入密码的方法
2015/05/29 Python
Python作用域用法实例详解
2016/03/15 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
django实现日志按日期分割
2020/05/21 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
怎样声明子类
2013/07/02 面试题
面试后感谢信怎么写
2014/02/01 职场文书
人事科岗位职责范本
2014/03/02 职场文书
我的理想演讲稿
2014/04/30 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python