mongodb清空oplog.rs后节点stuck in STARTUP2

  • 想不起来是什么原因,决定删掉oplog.rs并且重新设置oplogSize
  • 然后直接就去把local.oplog.rs删掉,启动mongodb副本集后
  • 运行rs.status()发现statestr一直是STARTUP2,而且还只是副本集中的单个启动。
  • 列一下所有的statestr对应的状态。
    • STARTUP:刚加入到复制集中,配置还未加载
    • STARTUP2:配置已加载完,初始化状态
    • RECOVERING:正在恢复,不适用读
    • ARBITER: 仲裁者
    • DOWN:节点不可到达
    • UNKNOWN:未获取其他节点状态而不知是什么状态,一般发生在只有两个成员的架构,脑裂
    • REMOVED:移除复制集
    • ROLLBACK:数据回滚,在回滚结束时,转移到RECOVERING或SECONDARY状态
    • FATAL:出错。查看日志grep “replSet FATAL”找出错原因,重新做同步
    • PRIMARY:主节点
    • SECONDARY:备份节点
  • mongodb.log错误信息输出为
Failed to load timestamp of most recently applied operation: NoMatchingDocument: Did not find any entries in local.oplog.rs

no valid sync sources found in current replset to do an initial sync
  • rockmongo连接报错ismaster: got unknown node type.
  • 查文档......
  • 重新初始化local库
    • 单机启动mongodb,不带--replSet参数 && conf文件也注释掉replSet
    • 删掉local库 db.getSiblingDB('local').dropDatabase()
    • 重启mongodb副本集,带上--replSet参数 || conf文件指定replSet
    • 执行rs.initate()重新初始化新的oplog和副本集配置
  • 重新连接成功
  • 感谢链接 http://osdir.com/ml/mongodb-user/2016-10/msg00404.html

你可能感兴趣的:(mongodb清空oplog.rs后节点stuck in STARTUP2)