在之前的博客,我们了解了MongoDB 中oplog 的作用,以及在副本集环境中,oplog的注意事项:
MongoDB 4.4 中 journal 和 oplog 日志 说明
https://www.cndba.cn/dave/article/107979MongoDB 4.4 修改 副本集 Secondary 节点类型
https://www.cndba.cn/dave/article/107992
要想估算oplog大小,首先要估算出oplog 的生成速度。
我们可以直接通过db.printReplicationInfo() 方法来估算。
shard1:SECONDARY> db.printReplicationInfo()
configured oplog size: 40000MB
log length start to end: 7200secs (2hrs)
oplog first event time: Tue May 03 2022 23:13:24 GMT+0800 (CST)
oplog last event time: Sun May 15 2022 22:43:42 GMT+0800 (CST)
now: Sun May 15 2022 22:43:49 GMT+0800 (CST)
shard1:SECONDARY>
我们假设这里当前大小是40000MB,能支撑2小时,那么每小时就是20000MB。
在根据我们的维护窗口来计算,假设维护停机5小时,那么就是:
20000*5=100000MB。
然后调整对应的oplog 大小即可。 这个在之前的博客中有说明,对于副本集环境,建议修改所有节点的oplog大小,因为每个节点都有可能变成主节点。
MongoDB 4.4 中 journal 和 oplog 日志 说明
https://www.cndba.cn/dave/article/107979
版权声明:本文为博主原创文章,未经博主允许不得转载。