Hyper终端运行mongod出现[LogicalSessionCacheRefresh]索引构建日志,服务异常
你贴出的日志片段属于正常INFO级别的运行记录,并非错误:
2021-09-04T09:42:59.286+0530 I INDEX [LogicalSessionCacheRefresh] build index on: config.system.sessions properties: { v: 2, key: { lastUse: 1 }, name: "lsidTTLIndex", ns: "config.system.sessions", expireAfterSeconds: 1800 } 2021-09-04T09:42:59.287+0530 I INDEX [LogicalSessionCacheRefresh] building index using bulk method; build may temporarily use up to 500 megabytes of RAM 2021-09-04T09:42:59.290+0530 I INDEX [LogicalSessionCacheRefresh] build index done. scanned 0 total records. 0 secs
上述内容仅记录了MongoDB自动构建会话过期TTL索引的操作,和服务无法正常运行无关,你可以按照以下步骤排查真实故障原因:
排查解决步骤
1. 提取真正的错误日志
拉取mongod进程输出的完整运行日志,重点筛选标记为E(ERROR)、W(WARNING)级别的条目,90%以上的启动失败原因会在这类日志中明确标注,常见故障方向包括:
- 默认服务端口27017被其他进程占用
- 数据存储目录不存在或当前运行用户无读写权限,MongoDB默认数据目录为
/data/db(Linux/macOS)、C:\data\db(Windows) - 上一次mongod进程异常退出,残留了
mongod.lock锁文件阻止启动
2. 对应故障的解决方法
- 端口占用问题:
- Linux/macOS运行
lsof -i:27017查询占用端口的进程ID,执行kill <进程ID>终止占用进程后重新启动mongod;也可以在启动时添加--port <自定义端口号>参数指定其他端口运行 - Windows运行
netstat -ano | findstr "27017"查询占用进程ID,在任务管理器中结束对应进程后重新启动
- Linux/macOS运行
- 数据目录问题:
手动创建默认数据目录,或者启动时添加--dbpath <自定义目录路径>参数指定你有权限读写的目录作为数据存储位置 - 锁文件残留问题:
进入MongoDB数据目录,找到mongod.lock文件直接删除,之后重新启动mongod即可
3. 启动验证
mongod启动后,运行mongo命令尝试连接本地服务,能正常进入MongoDB交互shell即为启动成功。
内容的提问来源于stack exchange,提问作者Shubham Kumar singh
相关产品推荐
相关产品推荐

