Mongodb副本回滚

Mongodb副本回滚

摘自:https://docs.mongodb.com/v4.2/core/replica-set-rollbacks/

回滚发生在副本节点失效,前一个主节点重新加入集群后。 正常情况回滚是必要的,是为了和副本集其他节点保持一致。

mongodb发生回滚,基本上是集群网络问题导致的。 从节点严重落后于主节点,当主节点stepDown后(前主节点),从节点变成主节点。 重新加入集群后前主节点数据比当前主节点更新,所以发生回滚。

回滚数据

自4.0 版本,默认发生回滚时,Mongodb会将回滚的数据写入到dbpath下的rollback目录,形式如 rollback/<db>.<collection>/removed.<timestatmp>.bson。不同版本可能略有差异

回滚的数据是bson格式,可以通过bsondump进行数据的读取/恢复。

避免回滚

默认情况写确认是{w:1},即写主节点成功即标识写入成功,对于数据一致性要求较高的,可以通过修改这个数值保障大部分节点都被写入{w:majority},这样也能降低rollback发生的概率

回滚数据大小

自4.0回滚数据大小不做限制,早前版本支持300M,如果想支持更多,需要手动对回滚文件进行处理。

回滚时间

4.0 24hour
4.2+ 4.0.13+ 一般检查点的第一个操作到最后一个检查点
4.0.0 - 4.0.12 一般检查点到最后一个检查点
<=3.6 通过数据大小进行限制,即300M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值