You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB创建副本集进程卡住且报Failed to refresh key cache错误如何解决

问题原因说明

该NotYetInitialized报错不属于服务启动失败的致命错误,是副本集模式启动后的正常提示:MongoDB以副本集模式启动后,必须完成副本集初始化配置才会正常对外提供服务,未初始化前会周期性打印该日志等待配置操作,看起来就像启动卡住。

解决步骤
  • 保持当前启动的mongod进程不动,新开一个终端窗口,执行对应版本的客户端命令连接本地27017实例:
    高版本MongoDB用mongosh --port 27017,低版本用mongo --port 27017
  • 在Mongo Shell中执行副本集初始化命令,单节点副本集直接执行以下代码即可:
rs.initiate({
  _id: "myReplicaSet",
  members: [
    { _id: 0, host: "localhost:27017" }
  ]
})

注意:配置中的_id值必须和启动命令里--replSet后面的副本集名称完全一致,以上代码已经和你使用的启动参数匹配,无需修改

  • 等待10秒左右,执行rs.status()查看副本集状态,返回结果中stateStr字段为PRIMARY或者SECONDARY就说明初始化完成,原启动进程的日志也不会再刷新key cache相关报错。
常见异常排查
  • 执行rs.initiate报错提示端口不通:先检查本地hosts配置,确保localhost能正常解析到127.0.0.1,也可以直接把初始化配置里的host改成127.0.0.1:27017重试
  • 初始化后还是报错:先停止当前mongod进程,备份好需要的旧数据后删除dbpath目录下的所有文件,再重新执行启动命令和初始化操作,避免旧数据冲突
  • 多节点副本集配置:初始化时要把所有节点的host都写到members数组里,且确保各节点之间网络互通、对应端口没有被防火墙拦截

内容的提问来源于stack exchange,提问作者Mubashir 'Mobi' Ayub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:45:02