Docs 主页 → 启动和管理 MongoDB → MongoDB Atlas
修复 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 View and Download MongoDB Logs (Atlas 视图和下载 MongoDB 日志)显示以下消息:
We are too stale to use <node>:27017 as a sync source. Atlas 节点报告长时间处于STARTUP 2和RECOVERING状态。
通常,这表示该节点已“脱离 oplog”,无法跟上主节点生成的 oplog 数据。在这种情况下,节点需要初始同步,以便恢复并确保所有节点的数据一致。您可以使用
rs.status()
Shell 方法检查节点的状态。