Docs 菜单

Docs 主页启动和管理 MongoDBMongoDB 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 View and Download MongoDB Logs (Atlas 视图和下载 MongoDB 日志)显示以下消息:

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

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

← 修复丢失的主节点问题