温馨提示×

centos中mongodb故障排查

小樊
41
2025-09-07 17:51:48
栏目: 云计算

CentOS中排查MongoDB故障可按以下步骤进行:

  1. 检查服务状态

    systemctl status mongod.service  
    

    若未启动,执行 systemctl start mongod 并设置开机自启 systemctl enable mongod

  2. 查看日志文件

    • 系统日志:journalctl -xe | grep mongod
    • MongoDB日志:/var/log/mongodb/mongod.log,使用 tail -f 实时查看。
  3. 验证配置文件
    检查 /etc/mongod.confdbPath(数据目录)、logPath(日志路径)、port(端口)等配置是否正确,语法可用在线YAML工具验证。

  4. 检查端口与权限

    • 确认端口(默认27017)未被占用:netstat -anp | grep 27017,若被占用则终止进程。
    • 确保数据目录和日志文件权限正确:sudo chown -R mongod:mongod /data/db /var/log/mongodb
  5. 排查系统资源与环境

    • 检查磁盘空间:df -h,确保数据目录有足够空间。
    • 确认系统资源(CPU、内存)充足:tophtop
    • 临时关闭SELinux:setenforce 0,或调整其规则避免阻止MongoDB运行。
  6. 使用诊断工具

    • mongostat:实时监控性能指标。
    • mongotop:监控数据库性能。
    • db.serverStatus():通过MongoDB Shell获取实例详细状态(如锁、内存使用)。
  7. 处理异常情况

    • 若服务崩溃,分析内核转储文件(需安装 crash 工具)。
    • 若依赖库缺失(如CentOS 6.x需安装 openssl-devel),通过 yum install 补全。
  8. 升级与求助

    • 尝试升级到MongoDB最新稳定版本。
    • 若问题仍未解决,查阅官方文档或社区论坛,必要时联系技术支持。

关键命令总结

  • 服务管理:systemctl status/start/enable mongod
  • 日志查看:journalctl -xetail -f /var/log/mongodb/mongod.log
  • 配置验证:cat /etc/mongod.conf
  • 端口检查:netstat -anp | grep 27017
  • 权限设置:sudo chown -R mongod:mongod /data/db

参考来源:

0