千家信息网

MongoDB Replica Set排错

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1.检查Replica Set的状态使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();2.检查复制延迟时间source: m1.exa
千家信息网最后更新 2026年11月01日MongoDB Replica Set排错

1.检查Replica Set的状态

使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();


2.检查复制延迟时间

source:   m1.example.net:30001    syncedTo: Tue Oct 02 2012 11:33:40 GMT-0400 (EDT)        = 7475 secs ago (2.08hrs)source:   m2.example.net:30002    syncedTo: Tue Oct 02 2012 11:33:40 GMT-0400 (EDT)        = 7475 secs ago (2.08hrs)

复制延迟的可能原因有:

网络延迟

可以使用ping和traceroute命令探测网络状况

磁盘吞吐量

如果Secondary的磁盘不能像Primary的磁盘那样快速将数据刷新到磁盘上,将不能和Primary保持同步更新。可以使用iostat或者vmstat检查磁盘使用状况


并发量

在某些情况下,如果Primary上长期有操作,那么可能会阻断Secondary的复制操作。可以考虑write concern 。再则就是查看是否有慢查询。

Appropriate Write Concern

  • Replica Acknowledge Write Concern

  • Replica Set Write Concern



3.所有成员间的连接测试

Replica Set之间的成员需要能够相互连通,检查防火墙设置。


4.重启多个Secondar的Socket Exceptions问题

当重启Replica Set中的多个成员时,确保可以选出一个Primary。如果在维护的过程中程序出现socket连接错误,可以检查TCP的keepalive设置。

cat /proc/sys/net/ipv4/tcp_keepalive_time

Linux下默认设置tcp_keepalive_time为7200秒,即两个小时。可以将所有的MongoDB实例所在的服务器的这个值设置成300秒。

echo 300 > /proc/sys/net/ipv4/tcp_keepalive_time

这种设置重启后将消失,需要重新修改。可以直接修改/etc/sysctl.conf然后执行sysctl -p



5.检查Oplog的大小

oplog越大,能够接受得延迟就越大。

使用db.printReplicationInfo();查看oplog的大小

 db.printReplicationInfo();configured oplog size:   50278.6203125MBlog length start to end: 143109secs (39.75hrs)oplog first event time:  Wed Mar 18 2015 00:36:53 GMT+0800 (CST)oplog last event time:   Thu Mar 19 2015 16:22:02 GMT+0800 (CST)now:                     Thu Mar 19 2015 17:32:42 GMT+0800 (CST)

如果重新设置oplog的大小需要将所有的成员都设置成为大小一样


6.Oplog Entry Timestamp Error

如果日志中出现如下报错

replSet error fatal couldn't query the local local.oplog.rs collection.  Terminating mongod after 30 seconds. [rsStart] bad replSet oplog entry?



参考资料:

http://docs.mongodb.org/v2.4/tutorial/troubleshoot-replica-sets/

http://john88wang.blog.51cto.com/2165294/1564543

http://docs.mongodb.org/v2.4/faq/diagnostics/#faq-keepalive



检查 磁盘 大小 成员 延迟 多个 状况 网络 两个 之间 原因 参考资料 吞吐量 命令 实例 小时 就是 情况 所在 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 互联网科技巨头监管 深圳恒合互联网络科技有限公司 互联网公司 科技公司 中国 科技 互联网 亿账通互联网科技 互联网科技素材视频竖屏 济南和联互联网科技有限公司 互联网科技创新服务 岳阳华臻互联网科技有限公司 互联网金融科技元年 广州富喜互联网络科技 互联网营销推广黑科技 江苏互联网智能科技软件 张召忠谈中国互联网科技 西安有哪些互联网高科技企业 万物互联网智能科技 米泉互联网科技专业怎么样 青岛易易互联网科技 中国主要互联网科技公司 中国互联网金融科技基金 金融科技和互联网金融 互联网科技生活的内容 以后互联网后是啥科技 千方科技属于互联网企业吗 华夏互联网科技业 燊美集互联网科技有限公司 浙南科技城互联网大厦招聘 西安左小互联网科技有限公司 美国五大互联网科技公司市值多少
0