我的分片集群的 MongoDB 副本集出现了问题。节点的当前状态为:
- node1:主要(但显然被需要同步的node3否决了)
- node2:回滚(之前是主节点)
- node3:无法同步
- node4:延迟的从属目前正在恢复
- 节点5:仲裁者
文档似乎说我必须等待回滚完成,然后才能恢复或不恢复新主节点上的转储。但是节点 2 已经回滚了半个小时,我想知道它是否卡住了?
我应该遵循哪些步骤?您能告诉我如何在新的主服务器上恢复回滚转储吗?
多谢,
格雷格。
答案1
我让 node2 回滚了 2 个小时,然后停止了它。我在 dbpath 中找不到任何回滚目录...
由于向数据库提供数据的进程具有内部缓冲机制,因此它们可以重新传输最近的数据。因此,如果我丢失了数据,我可以再次检索它。
因此,我选择停止副本集的所有节点。然后,我将旧的主服务器作为独立服务器启动,删除本地数据库并从那里部署了新的副本集。
格雷格。