修复 Oplog 问题
当在 主节点集群节点上生成的 oplog 数据量大于该集群配置的 oplog 大小,则触发复制 Oplog 警报。
警报条件
您可以在项目级警报设置页面中配置以下警报条件,以触发警报。
Replication Oplog Window is (X)
如果主节点复制 oplog 中的大致可用时间量达到或低于指定阈值,则会发生此情况。这是指在给定 oplog 数据生成的当前速率的情况下,主节点可以继续记录的时间量。
Oplog Data Per Hour is (X)
当每小时写入主节点的 oplog 的数据量达到或超过指定阈值,则触发。
常见触发器
以下是一些可能导致 oplog 活动增加的常见事件:
短时间内密集的写入和更新操作。
集群配置的 oplog 大小小于集群指标视图中观察到的 Oplog GB / Hour 图表中的值。
解决眼前的问题
以下是一些可以考虑采取的措施,以帮助解决复制 Oplog 警报:
实施长期解决方案
有关您的使用案例的 oplog
大小要求的更多信息,请参阅可能需要更大oplog大小的工作负载。
监控您的进度
当这些警报触发时,您可能会观察到以下情况:
指标视图中的 Oplog GB / Hour(Oplog GB/小时)图表急剧上升。
指标视图中的 Replication Oplog Window 图表偏低。
Atlas 查看和下载 MongoDB 从节点或运行状况不佳节点的日志显示以下消息:
We are too stale to use <node>:27017 as a sync source. 通常,这表明该节点已“脱离 oplog”并且无法跟上主节点生成的 oplog 数据。在这种情况下,该节点需要进行初始同步,以便恢复并确保所有节点的数据一致。您可以使用
rs.status()
shell 方法检查节点的状态。