手机版
你好,游客 登录 注册
背景:
阅读新闻

MongoDB Replica Set排错

[日期:2015-03-22] 来源:Linux社区  作者:john88wang [字体: ]

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_timeLinux下默认设置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的大小
123456  db.printReplicationInfo();
configured oplog size:  50278.6203125MB
log 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.
<timestamp> [rsStart] bad replSet oplog entry?

MongoDB 3.0 正式版发布下载  http://www.linuxidc.com/Linux/2015-03/114414.htm

CentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htm

CentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

CentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

Ubuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

MongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

Ubunu 14.04下MongoDB的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

Nagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm

基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍请点这里
MongoDB 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-03/115322.htm

linux
相关资讯       MongoDB  MongoDB Replica Set 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款