以下是CentOS上排查MongoDB故障的核心技巧,覆盖服务、配置、日志、资源等关键维度:
服务状态与重启
sudo systemctl status mongod  # 检查服务是否运行  
sudo systemctl restart mongod # 重启服务  
sudo systemctl enable mongod  # 设置开机自启  
配置文件验证
/etc/mongod.conf关键参数:
dbPath:数据目录是否存在且权限正确(需为mongodb用户)。logPath:日志文件路径是否可写。port:端口是否被占用(默认27017)。mongod --config /etc/mongod.conf --fork手动启动并查看实时错误。核心日志文件
/var/log/mongodb/mongod.log,记录启动失败、连接异常等。sudo tail -f /var/log/mongodb/mongod.log  # 实时查看日志  
journalctl -xe | grep mongod,排查权限或SELinux问题。日志分析工具
mlogfilter mongod.log --slow  # 筛选慢查询  
mplotqueries mongod.log --type response_time  # 生成响应时间图表  
系统资源监控
top/htop查看CPU、内存占用,确保无资源耗尽。df -h,确保数据目录所在分区有足够空间。端口与网络
sudo lsof -i :27017,终止冲突进程。sudo firewall-cmd --add-port=27017/tcp --permanent  
sudo firewall-cmd --reload  
数据目录权限
sudo chown -R mongodb:mongodb /var/lib/mongo  # 确保数据目录归属正确  
sudo chmod -R 755 /var/lib/mongo  
SELinux处理
sudo setenforce 0,若问题解决需调整策略。/etc/selinux/config,设置SELINUX=permissive。崩溃转储分析
crash工具分析内核转储文件(需安装)。版本与升级
mongod --version,升级到最新稳定版以修复已知问题。参考来源: