当前位置: 首页 > news >正文

服务器重启MongoDB无法启动

文章目录

  • 服务器重启MongoDB无法启动
    • 背景
    • 规划
    • 实施
  • 总结

服务器重启MongoDB无法启动

背景

数据库服务器的CPU接近告警值了,需要添加CPU资源,于是乎就在恰当的时间对服务器进行关机,待添加完资源后开机,这样就完成了CPU资源的添加。

规划

在添加资源之前首先要咨询开发人员,让开发人员确认,什么时候可以对机器进行重启,时间确定了在18点以后就可以对机器进行重启操作。这时候把准备工作做好

  1. 重启之前确定何时可以重启
  2. 重启之前把原来的服务关掉
  3. 重启后查看应用是否启动成功
  4. 测试MongoDB是否正常使用

方针路线制定未完成,那就开始执行吧,本来添加资源,加上启动应用10分钟内完全能搞定,但一旦出现问题这是完全保证不了时间的。之前升级也是,理想状态下10分钟~1小时能搞定,最后24小时还是搞不定,这是常有的事,这不今天又遇到了。

实施

停止MongoDB服务

systemctl stop mongod

停止服务器

shutdown -h now

添加CPU资源

我们使用的KVM

之后启动服务器

服务器正常启动

检查应用是否启动,就在这时候问题出现了

[root@ZJPMYCDBS01 ~]# systemctl status mongod
● mongod.service - MongoDB Database ServerLoaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since Wed 2023-08-23 18:06:57 CST; 1min 58s agoDocs: https://docs.mongodb.org/manualProcess: 1800 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)Process: 1797 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)Process: 1795 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)Process: 1791 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Starting MongoDB Database Server...
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: about to fork child process, waiting until server is ready for connections.
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: forked process: 1803
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: ERROR: child process failed, exited with 14
Aug 23 18:06:57 ZJPMYCDBS01 mongod[1800]: To see additional information in this output, start without the "--fork" option.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: mongod.service: control process exited, code=exited status=14
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Failed to start MongoDB Database Server.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: Unit mongod.service entered failed state.
Aug 23 18:06:57 ZJPMYCDBS01 systemd[1]: mongod.service failed.
[root@ZJPMYCDBS01 ~]# 

我是设置了MongoDB开机启动的,所以无需再次启动

再次查看日志

 [root@ZJPMYCDBS01 ~]#journalctl -xe
Aug 23 18:05:29 ZJPMYCDBS01 mongod[1710]: To see additional information in this output, start without the "--fork" option.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: mongod.service: control process exited, code=exited status=14
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mongod.service has failed.
-- 
-- The result is failed.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: Unit mongod.service entered failed state.
Aug 23 18:05:29 ZJPMYCDBS01 systemd[1]: mongod.service failed.
Aug 23 18:05:29 ZJPMYCDBS01 polkitd[845]: Unregistered Authentication Agent for unix-process:1696:5112 (system bus name :1.20, object path /org/freedesktop/PolicyKit1/Authentication
Aug 23 18:05:57 ZJPMYCDBS01 polkitd[845]: Registered Authentication Agent for unix-process:1722:7930 (system bus name :1.21 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object pa
Aug 23 18:05:57 ZJPMYCDBS01 systemd[1]: Reloading.
Aug 23 18:05:57 ZJPMYCDBS01 systemd[1]: clickhouse-server.service: Supervising process 1339 which is not our child. We'll most likely not notice when it exits.
Aug 23 18:05:57 ZJPMYCDBS01 polkitd[845]: Unregistered Authentication Agent for unix-process:1722:7930 (system bus name :1.21, object path /org/freedesktop/PolicyKit1/Authentication
Aug 23 18:06:01 ZJPMYCDBS01 chronyd[838]: Source 94.237.64.20 replaced with 39.106.54.244
Aug 23 18:06:03 ZJPMYCDBS01 polkitd[845]: Registered Authentication Agent for unix-process:1741:8541 (system bus name :1.22 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object pa

分析以上日志,查看问题,日志中明显的错误信息是code=exited, status=14,查看MongoDB的官网可知以下的内容

Code原因
0MongoDB 应用程序成功退出时返回。
2指定的选项错误或与其他选项不兼容。
3当命令行上指定的主机名与主/从模式下的 local.sources 集合中的主机名不匹配时,由 mongod 返回。
4数据库版本与 mongod(或 mongod.exe)实例支持的版本不同。实例将干净地退出。
5在初始化过程中遇到问题时,由 mongos 返回。
12在 Windows 上的 mongod.exe 进程在接收到 Control-C、Close、Break 或 Shutdown 事件时返回。
14MongoDB 应用程序遇到无法恢复的错误、未捕获的异常或未捕获的信号时返回。系统在未执行干净关闭的情况下退出。
20消息:ERROR: wsastartup failed
Windows 上的 MongoDB 应用程序在 WSAStartup 函数出现错误后返回,该函数用于初始化网络子系统。
消息:NT Service Error
Windows 上的 MongoDB 应用程序由于安装、启动或删除应用程序的 NT 服务时出现故障而返回。
48新启动的 mongod 或 mongos 由于错误无法开始侦听传入连接。
61如果具有受监视目录的文件系统无响应,由存储节点监视器返回。
62当 --dbpath 中的数据文件与当前运行的 mongod 版本不兼容时,由 mongod 返回。
100当进程抛出未捕获的异常时,由 mongod 返回。

看到以上代码status=14则说明这是异常退出,大概率是有存在锁的,在日志文件中看到了一个lock的文件
但出于对MongoDB的不熟悉,最后网上找到了一个帖子

cd /tmp; ls -l *.sock
chown mongod:mongod mongodb-27017.sock

27017是端口号

mongodb-27017.sock这个文件按理说不会发生权限的变动的,我感觉可能是停止的时候没有完全停止,就急于重启机器,或者是重启的时候有数据写入导致的。

再次启动MongoDB问题解决,不得不说高手在民间,网上很多人不显山不漏水决绝问题棒棒滴,感谢这些网络活雷锋。

总结

在上线过程中,未免是会出现这样那样的问题,遇到问题先看看具体的日志信息,根据日志信息来进行下一步操作,按照日志的关键字去网上查,可能有很多人都会遇到同样的问题,大部分都会解决的。不慌不忙、不急不躁沉着应对。

http://www.lryc.cn/news/149105.html

相关文章:

  • 深度刨析数据在内存中的存储
  • 理解FPGA中的亚稳态
  • Leetcode86. 分隔链表
  • 如何处理 Flink 作业中的数据倾斜问题?
  • cobbler自动化安装CentOS、windows和ubuntu
  • springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4
  • RESTful API 面试必问
  • 软件机器人助力行政审批局优化网约车业务流程,推动审批业务数字化转型
  • 飞天使-python的字符串转义字符元组字典等
  • stm32 uart dma方式接收不定长度字符
  • SciencePub学术 | Elsevier出版社SCIEEI征稿中
  • PHP小白搭建Kafka环境以及初步使用rdkafka
  • 【Java Web】敏感词过滤
  • stable diffusion实践操作-提示词
  • leetcode8.字符串转整数-Java
  • 从零开始的Hadoop学习(四)| SSH无密登录配置、集群配置
  • 微信小程序活动报名管理系统设计与实现
  • 用Kubernetes(k8s)的ingress部署https应用
  • 【附安装包】MyEclipse2020安装教程
  • 软件与软件工程
  • 记录一下:基于nginx配置的封禁真实IP
  • 【狂神】Spring5笔记(1-9)
  • Redis——急速安装并设置自启(CentOS)
  • C++中使用while循环
  • 视频融合平台EasyCVR视频汇聚平台关于小区高空坠物安全实施应用方案设计
  • IBM安全发布《2023年数据泄露成本报告》,数据泄露成本创新高
  • python爬虫—requests
  • 应用案例 | 3D视觉引导解决方案汽车零部件上下料
  • const {}解构赋值
  • 一篇文章带你了解-selenium工作原理详解