失败后,Mongodb节点不与ReplicaSet同步

问题描述

集群:3个节点(一个失败)

数据:〜150GB

操作日志:大约24小时

每个节点都有4GB RAM

我有Mongodb群集,该群集在同一replicaset中包含3个mongodb节点。群集由OpsManager管理。

几天前,副本集中的一个节点发生故障,没有足够的Oplog可用于与副本自动同步。 我试图通过删除所有他的DBPath内容并触发初始同步来手动同步该节点(整个过程是,停止mms服务,终止mongod进程,删除数据并启动mms服务)。

节点状态已更改为“ STARTUP2”(初始同步)。我正在观看dbpath数据以跟踪同步过程(使用'watch du -sh / var / lib / mongo'),数据增长正常,但是大约80GB之后,整个数据已删除(命令显示100MB) ,然后同步又重新开始。 (我知道WiredTiger不会将存储释放到操作系统,而是偶尔释放它,但是这种下降看起来很严重)。 这个同步过程发生了很多次(我让同步运行了2天)。

我也尝试过从备份开始同步。我已经使用了OpsManager的快照(我检查了是否有足够的oplog可以从快照进行同步)。但是,一旦我启动了mms服务,所有数据都将被删除

我还考虑过从replicaset中另一个节点的文件系统备份开始,但是此过程需要数据库锁定,因此会引起大多数写入问题。

您对如何将节点与副本集同步有任何建议吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)