CentOS MongoDB故障排查可按以下步骤进行:
- 检查服务状态:使用
systemctl status mongod确认服务是否运行,未启动则用systemctl start mongod启动。 - 查看日志文件:
- 系统日志:
journalctl -xe | grep mongod。 - MongoDB日志:
/var/log/mongodb/mongod.log,重点关注错误、警告信息。
- 系统日志:
- 验证配置文件:检查
/etc/mongod.conf中dbPath(数据目录)、logPath(日志路径)、port(端口)、bindIp(监听IP)等配置是否正确。 - 排查权限与磁盘:
- 确保数据目录和日志文件权限正确(如
chown -R mongod:mongod /data/db)。 - 用
df -h检查磁盘空间是否充足。
- 确保数据目录和日志文件权限正确(如
- 处理端口与防火墙:
- 用
netstat -anp | grep 27017(默认端口)检查端口占用,用kill终止冲突进程。 - 配置防火墙放行端口:
firewall-cmd --add-port=27017/tcp --permanent。
- 用
- 分析系统资源:用
top/htop查看CPU、内存使用情况,确保资源充足。 - 排查SELinux:若启用,临时设为
permissive模式测试是否影响服务:setenforce 0。 - 使用诊断工具:
mongostat:实时监控性能指标(如连接数、读写速度)。mongotop:分析数据库各集合的访问负载。db.serverStatus():通过MongoDB Shell获取详细状态(如内存、锁信息)。
- 版本与依赖检查:确认MongoDB版本是否为最新稳定版,安装缺失的依赖库(如
openssl-devel)。 - 参考官方资源:若以上步骤无效,查阅MongoDB官方文档或社区论坛,必要时联系技术支持。
关键工具:journalctl、mongod、mtools(日志分析)、firewall-cmd(防火墙配置)。