Docs 菜单
Docs 主页
/
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 GB / Hour 图表中的值。

  • 如果您预计短时间内会有大量写入和更新操作,请增加 oplog 大小。

    注意

    您可能需要增加集群的存储空间,以便释放足够的空间来调整 oplog 的大小。

  • 确保所有写入操作都指定写关注majority ,以确保在继续下一写入操作之前将写入操作复制到至少一个节点。 这可以防止主节点接受写入的速度超过辅助节点的处理速度,从而控制来自应用程序的流量速率。

有关您的使用案例的 oplog 大小要求的更多信息,请参阅可能需要更大oplog大小的工作负载

当这些警报触发时,您可能会观察到以下情况:

  • 指标视图中的 Oplog GB / Hour(Oplog GB/小时)图表急剧上升。

  • 指标视图中的 Replication Oplog Window 图表偏低。

  • Atlas 查看和下载 MongoDB 从节点或运行状况不佳节点的日志显示以下消息:

    We are too stale to use <node>:27017 as a sync source.
  • Atlas 节点被报告长时间处于启动2恢复状态。

    通常,这表明该节点已“脱离 oplog”并且无法跟上主节点生成的 oplog 数据。在这种情况下,该节点需要进行初始同步,以便恢复并确保所有节点的数据一致。您可以使用 rs.status() shell 方法检查节点的状态。

后退

丢失的主节点