replSet error RS102 too stale to catch up

简介:

辅助副本成员需要关机增加内存,很早就提前关机,等第二天服务器起来后,去查看rs.status()信息,会捕获到"stateStr" : "RECOVERING"。其实早已超过了维护窗口时间。这时,如果运气好的话,会看到error RS102 too stale to catch up错误。而该错误是每十分钟会捕获到一次。从mongodb的日志文件可以看到:

 

1
2
3
4
5
6
7
8
Thu Mar 26 20:50:48.561 [rsBackgroundSync] replSet error RS102 too stale to catch up, at least from dal05mgo13.sl.dx:27017
Thu Mar 26 20:50:48.561 [rsBackgroundSync] replSet error RS102 too stale to catch up
Thu Mar 26 21:00:49.632 [rsBackgroundSync] replSet error RS102 too stale to catch up, at least from dal05mgo13.sl.dx:27017
Thu Mar 26 21:00:49.632 [rsBackgroundSync] replSet error RS102 too stale to catch up
Thu Mar 26 21:10:50.701 [rsBackgroundSync] replSet error RS102 too stale to catch up, at least from dal05mgo12.sl.dx:27017
Thu Mar 26 21:10:50.701 [rsBackgroundSync] replSet error RS102 too stale to catch up
Thu Mar 26 21:20:51.770 [rsBackgroundSync] replSet error RS102 too stale to catch up, at least from dal05mgo13.sl.dx:27017
Thu Mar 26 21:20:51.770 [rsBackgroundSync] replSet error RS102 too stale to catch up

 

确认维护窗口大小



查看主副本的维护窗口和oplog大小:

 

1
2
3
4
5
6
rs_main: PRIMARY > db.printReplicationInfo()
configured oplog  size : 23552MB
log length start  to  end : 38133secs (10.59hrs)
oplog  first  event  time : Mon Mar 30 2015 12:00:13 GMT-0500 (CDT)
oplog  last  event  time : Mon Mar 30 2015 22:35:46 GMT-0500 (CDT)
now: Mon Mar 30 2015 22:35:46 GMT-0500 (CDT)

 

可以看到维护窗口为10个小时,oplog大小为23G。

辅助副本的维护窗口大小最好跟主副本成员保持一致,让辅助副本能保存从主副本同步过来的oplog。

 

如何重建oplog



以standalone方式启动,执行如下删除和创建脚本:

 

1
2
3
4
5
> use  local
> db.oplog.rs. drop ()
> db.createCollection( "oplog.rs" , { "capped"  true "size"  : 23 * 1024 * 1024 * 1024})
> db.runCommand( {  create "oplog.rs" , capped:  true size : (23 * 1024 * 1024 * 1024) } )

 

replSet error RS102 too stale to catch up如何处理?



副本集错误RS102太陈旧而无法跟上。说明此节点由于脱离副本集时间太长,已经跟不上整个集群了。需要重新同步该辅助副本成员。可参考:

http://docs.mongodb.org/manual/tutorial/resync-replica-set-member/

官方手册建议,通过移除数据实施初始化同步(initial sync)来完全重新同步成员。

 

MongoDB提供了两种实施初始化同步的方法:

  • 清空数据目录,重启mongod。让MongoDB的正常初始化同步数据恢复数据。这个方法更简单,但是需要花更多的时间替换数据。

  • 从副本集中的另一个成员拷贝当前的数据目录,重启机器。这个过程替换数据更快,但是需要更多手工步骤。















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1626753,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
对话系统简介
对话系统简介
|
11月前
|
测试技术 数据库 Python
Python装饰器实战:打造高效性能计时工具
在数据分析中,处理大规模数据时,分析代码性能至关重要。本文介绍如何使用Python装饰器实现性能计时工具,在不改变现有代码的基础上,方便快速地测试函数执行时间。该方法具有侵入性小、复用性强、灵活度高等优点,有助于快速发现性能瓶颈并优化代码。通过设置循环次数参数,可以更准确地评估函数的平均执行时间,提升开发效率。
293 61
Python装饰器实战:打造高效性能计时工具
|
11月前
|
存储 弹性计算 运维
保障业务连续性,企业灾备建设新思路
本次分享主题为“保障业务连续性,企业灾备建设新思路”,由阿里云专家李媛和胡航丽主讲。内容涵盖企业业务连续性与灾备建设的重要性、新产品及其界面特点、Regional ESID、云备份Call back up、跨账号备份等。重点介绍了数据灾备中心BDRC,其具备全面覆盖阿里云资源、可视化设计、简化运维等特点,帮助企业高效实现数据灾备及合规管理。同时,针对企业面临的灾备挑战,如勒索病毒攻击、数据误删等,提供了不可变备份、自动病毒检测等功能,确保数据安全性和业务连续性。最后,通过案例展示了如何通过云备份服务满足企业的高阶需求,降低运维成本并提高效率。
343 13
|
11月前
|
云安全 人工智能 安全
GenAI浪潮下的安全2.0升级
本次分享的主题是GenAI浪潮下的安全2.0升级,由阿里云智能集团专家团队带来。内容涵盖生成式人工智能云上实践、安全大模型构建智能运营最佳实践以及复杂对抗场景下的AI人脸鉴伪。
395 3
|
11月前
|
存储 人工智能 数据可视化
昇腾AI行业案例(五):基于 DANet 和 Deeplabv3 模型的遥感图像分割
欢迎学习《基于 DANet 和 Deeplabv3 模型的遥感图像分割》实验。在本实验中,你将深入了解如何运用计算机视觉(CV)领域的 AI 模型,搭建一个高效精准的遥感地图区域分割系统,并利用开源数据集和昇腾 AI 芯片对模型效果加以验证。
277 0
昇腾AI行业案例(五):基于 DANet 和 Deeplabv3 模型的遥感图像分割
|
机器学习/深度学习 人工智能 安全
AI技术在医疗领域的应用与挑战
本文将探讨AI技术在医疗领域的应用及其带来的挑战。我们将介绍AI技术如何改变医疗行业的面貌,包括提高诊断准确性、个性化治疗方案和预测疾病风险等方面。同时,我们也将讨论AI技术在医疗领域面临的挑战,如数据隐私和安全问题、缺乏标准化和监管框架以及医生和患者对AI技术的接受程度等。最后,我们将通过一个代码示例来展示如何使用AI技术进行疾病预测。
296 2
|
存储 机器学习/深度学习 人工智能
一文读懂ChatGPT的工作原理
【7月更文挑战第24天】.一文读懂ChatGPT的工作原理
753 2
|
运维 监控 数据库
在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
【8月更文挑战第14天】在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
302 0
|
域名解析 监控 安全
根域名服务器的安全性
根域名服务器的安全性
|
存储 Python 内存技术
什么是文件?
什么是文件?
1264 0