• MongoDB下rs.status()命令


     最近经常遇到数据库卡顿,连接异常问题,需要链接到数据库内,常用到rs.status()复制集状态查询命令,故借鉴前辈的文章,在此记录下来,供后续查看,此处有官人的链接和ID,敬请关注下该博主,谢谢

       本文为   wei-xh   的博文,请多多关注博主,链接http://blog.itpub.net/22034023/viewspace-1074651/

    {

            "set" : "wxh",
            "date" : ISODate("2014-01-23T09:34:23Z"),
            "myState" : 1,
            "members" : [
                    {
                            "_id" : 0,
                            "name" : "wxlab31:27017",
                            "health" : 1,
                            "state" : 2,
                            "stateStr" : "SECONDARY",          #  stateStr用户描述服务器状态的字符串。有SECONDARY,PRIMARY,RECOVERING等
                            "uptime" : 30060,                           #  uptime 从成员可到达一直到现在经历的时间,单位是秒。
                            "optime" : Timestamp(1390450194, 3),        #  optimeDate 每个成员oplog最后一次操作发生的时间,这个时间是心跳报上来的,因此可能会存在延
                            "optimeDate" : ISODate("2014-01-23T04:09:54Z"),
                            "lastHeartbeat" : ISODate("2014-01-23T09:34:21Z"),    #  lastHeartbeat 当前服务器最后一次收到其他成员心跳的时间,如果网络故障等可能这个时间会大于2秒
                            "lastHeartbeatRecv" : ISODate("2014-01-23T09:34:21Z"),
                            "pingMs" : 0,                #  pinMs 心跳从当前服务器达到某个成员所花费的平均时间
                            "syncingTo" : "wxlab31:27018"        # syncingTo表示当前服务器从哪个节点在做同步
                    },
                    {
                            "_id" : 1,
                            "name" : "wxlab31:27018",
                            "health" : 1,
                            "state" : 1,
                            "stateStr" : "PRIMARY", 
                            "uptime" : 30067,
                            "optime" : Timestamp(1390450194, 3),
                            "optimeDate" : ISODate("2014-01-23T04:09:54Z"),
                            "self" : true            # self 这个信息出现在执行rs.status( )函数的成员信息中
               },
                    {
                            "_id" : 2,
                            "name" : "wxlab31:27019",
                            "health" : 1,
                            "state" : 2,
                            "stateStr" : "SECONDARY",
                            "uptime" : 30066,            
                            "optime" : Timestamp(1390450194, 3),   
                            "optimeDate" : ISODate("2014-01-23T04:09:54Z"),
                            "lastHeartbeat" : ISODate("2014-01-23T09:34:22Z"),   
                            "lastHeartbeatRecv" : ISODate("2014-01-23T09:34:21Z"),
                            "pingMs" : 0, 
                            "syncingTo" : "wxlab31:27018"   
                    },
                    {
                            "_id" : 3,
                            "name" : "wxlab31:27020",
                            "health" : 1,
                            "state" : 2,
                            "stateStr" : "SECONDARY",
                            "uptime" : 30066,
                            "optime" : Timestamp(1390450194, 3),
                            "optimeDate" : ISODate("2014-01-23T04:09:54Z"),
                            "lastHeartbeat" : ISODate("2014-01-23T09:34:21Z"),
                            "lastHeartbeatRecv" : ISODate("2014-01-23T09:34:22Z"),
                            "pingMs" : 0,
                            "syncingTo" : "wxlab31:27018"
                    }
            ],
            "ok" : 1
    }

    字段解释:

    • self 这个信息出现在执行rs.status()函数的成员信息中
    • stateStr用户描述服务器状态的字符串。有SECONDARY,PRIMARY,RECOVERING等
    • uptime 从成员可到达一直到现在经历的时间,单位是秒。
    • optimeDate 每个成员oplog最后一次操作发生的时间,这个时间是心跳报上来的,因此可能会存在延迟
    • lastHeartbeat 当前服务器最后一次收到其他成员心跳的时间,如果网络故障等可能这个时间会大于2秒
    • pinMs 心跳从当前服务器达到某个成员所花费的平均时间
    • errmsg 成员在心跳请求中返回的状态信息,通过是一些状态信息,不全是错误信息。
    state和stateStr是重复的,都表示成员状态,只是state是内部的叫法。
    health表示是否服务器可达,可达是1,不可达是0
    optime与optimeDate表达的信息也是一样的,只是表示的方式不同,一个是用新纪元开始的毫秒数表示的,一个是用一种更容易阅读的方式表示。
    syncingTo表示当前服务器从哪个节点在做同步。
    由于rs.status()是从执行命令成员本身的角度得出的,由于网路等故障,这份报告可能不准确或者有些过时。
     
     
     
     
  • 相关阅读:
    第三十三天 客户机和tcp多个客户端通信
    第三十二天黏包问题及解决方法:
    第三十一天 udp通信和黏包
    第三十天网路的基础
    第二十九天日志和config模块:
    Linux系统开机显示BusyBox v1.22.1 built-in shell(ash) 解决方法
    MTK迁移Oracle单库
    Ubuntu14.04安装mysql
    Ubuntu14.04下tomcat的安装
    Thinking in Java Chapter4 Exercise10 吸血鬼数字
  • 原文地址:https://www.cnblogs.com/bryant-dai/p/7904681.html
Copyright © 2020-2023  润新知