MongoDB Replication Lag 在不同的 shell 中对于相同的情况显示为负数和正数
Posted
技术标签:
【中文标题】MongoDB Replication Lag 在不同的 shell 中对于相同的情况显示为负数和正数【英文标题】:MongoDB Replication Lag appears negative and positive for the same case in different shells 【发布时间】:2018-01-15 04:46:04 【问题描述】:当我在主 Mongodb shell 上运行 db.printSlaveReplicationInfo()
时,我得到了正的复制延迟。当我在辅助 Mongodb shell 上运行 db.printSlaveReplicationInfo()
时,我得到了负复制延迟。
当我在 db.js 文件中查看 printSlaveReplicationInfo
的 MongoDB 代码时,我看到复制滞后计算为“Primary[OptimeDate] - Secondary[OptimeDate]。
复制中的数据从主节点复制到辅助节点。那么主要时间小于次要时间不是很明显吗?那么当我在 Primary Mongodb shell 上运行 db.printSlaveReplicaionInfo()
时,为什么 Primary - Secondary 时间会给出正值?
【问题讨论】:
如果您阅读这篇文章会是个好主意link @Chetan - 我刚刚编辑了你的帖子 - 你写的是db.printSlaveReplicationLag()
而你正在运行的函数实际上叫做 db.printSlaveReplicationInfo()
【参考方案1】:
您可以查看该功能的great docs。服务器上的clock drift 有时会导致负延迟。你有NTP daemon 在这些机器上活动吗/?您可以通过运行date
查看您的时钟。
再次,来自the docs
如果该方法在一个 次要在一段时间不活动后复制写入,但是 在它收到来自主节点的最新心跳之前 优化时间。
和
有关您的副本集的最新信息,它是 通常建议在 主要的。
【讨论】:
以上是关于MongoDB Replication Lag 在不同的 shell 中对于相同的情况显示为负数和正数的主要内容,如果未能解决你的问题,请参考以下文章