根据标题,我有一个带有1个主副本,1个辅助副本和1个仲裁者的副本集,我在主要数据库中恢复了一个大数据库,它比辅助数据库快得多。 现在,中学已经滞后了很多(小时),并且从小时起就处于恢复状态。 我可以做点什么吗?我能否知道恢复进度?
答案 0 :(得分:1)
我先回答你的第二个问题。 “我能知道恢复进展吗?”
是的,您可以连接到副本集主服务器并执行rs.status()
命令以查看RS中每个成员的状态。引用输出的stateStr
字段,它将表示状态代码的友好名称。这表明了复苏的进展。
在你的标题中,你问你是否知道它什么时候结束。那要困难得多。当辅助设备完成与其他成员的同步时,无法准确地知道。
关于“我能做点什么吗?”;是的,但没有什么能给你一个确切的答案,你想知道什么时候复制将结束。请参阅rs.status()
输出,并专门检查optime
字段,并将其与辅助成员及其正在同步的成员(在您的情况下是主要成员)进行比较。这只能提供“一些”洞察两个服务器相隔多远的距离。然而,仅此一点并不十分准确,其他因素可能会影响赶上实际的时间。它不会告诉你它将在特定时间完成。
也;如果在您的用例中您的服务器质量不同,我也会提出Markus Mahlberg的建议。这个和许多其他因素可能导致复制滞后,包括磁盘问题,网络延迟,包括交叉数据中心因素。这里没有明确的答案。