MongoDB rs.status()输出内容详解

mongo-rs:PRIMARY> rs.status()
{
 #副本集的名称为 “mongo-rs”
    "set" : "mongo-rs",   
 #当前状态的时间戳 
    "date" : ISODate("2023-11-29T06:21:51.678Z"),
 #当前服务器的状态为 1,表示该服务器是副本集的活动节点(主节点)。
    "myState" : 1,
 #表示当前的选举任期为 2。每当进行一次选举时,任期号就会增加,它有助于确保新选举不会与旧的选举产生混淆。
    "term" : NumberLong(2),
 #这表示当前节点没有指定同步源(Sync Source)。在复制集中,从节点会从主节点或其他从节点同步数据。如果存在同步源,这里会显示同步源的主机名和 ID。
    "syncSourceHost" : "",
    "syncSourceId" : -1,
 #心跳间隔,表示节点之间进行心跳检测的时间间隔,这里为 2000 毫秒,即 2 秒。
    "heartbeatIntervalMillis" : NumberLong(2000),
 #需要的多数投票数量。在进行一些决策时,至少需要这么多节点的投票来达成共识。
    "majorityVoteCount" : 2,
 #需要的多数写操作数量。在写入操作中,至少需要这么多节点写入成功才算是多数写入。
    "writeMajorityCount" : 2,
 #表示 MongoDB 复制集中的投票成员(voting members)总数为 3
    "votingMembersCount" : 3,
 #表示在 MongoDB 复制集中,为了确认写入操作的多数派提交,至少需要有2个节点成功写入数据。这是为了确保数据的可靠性和一致性。
    "writableVotingMembersCount" : 2,
    "optimes" : {
                #表示最后一次提交的操作时间。                 
        "lastCommittedOpTime" : {
                        #时间戳
            "ts" : Timestamp(1701238907, 1),
                        #操作数:这表明最后一次提交的操作是在时间戳为 1701238907 的时刻,操作数为 2
            "t" : NumberLong(2)
        },
                #表示最后一次提交操作的墙上时间,这是一个 ISO 格式的日期时间字符串,指示最后一次提交操作发生的具体时间。
        "lastCommittedWallTime" : ISODate("2023-11-29T06:21:47.044Z"),
        "readConcernMajorityOpTime" : {
            "ts" : Timestamp(1701238907, 1),
            "t" : NumberLong(2)
        },
                #复制集中最后一次应用(applied)的操作时间。
        "appliedOpTime" : {
            "ts" : Timestamp(1701238907, 1),
            "t" : NumberLong(2)
        },
                #复制集中最后一次持久化(durable)的操作时间
        "durableOpTime" : {
            "ts" : Timestamp(1701238907, 1),
            "t" : NumberLong(2)
        },
                #表示最后一次应用操作的墙上时间。
        "lastAppliedWallTime" : ISODate("2023-11-29T06:21:47.044Z"), 
                #表示最后一次持久化操作的墙上时间。                  
        "lastDurableWallTime" : ISODate("2023-11-29T06:21:47.044Z")
    },
 #复制集中的最后一次稳定恢复的时间戳。
    "lastStableRecoveryTimestamp" : Timestamp(1701238897, 1),
 #复制集中选举候选节点的度量和信息。
    "electionCandidateMetrics" : {
                #'表示选举是由于选举超时而发生的。':'表示选举是由于选举超时而发生的'                
        "lastElectionReason" : "electionTimeout",
                #'表示最后一次选举的日期和时间。':'时间'
        "lastElectionDate" : ISODate("2023-11-29T05:20:45.400Z"),
                #'表示最后一次选举的任期号。':'选举发生在第二个任期。'
        "electionTerm" : NumberLong(2),
                #表示在最后一次选举时的最后一次提交的操作时间。                  
        "lastCommittedOpTimeAtElection" : {
            "ts" : Timestamp(1701235213, 1),
            "t" : NumberLong(1)
        },
                #表示在最后一次选举时看到的最后一次操作时间。包括时间戳和操作数。
        "lastSeenOpTimeAtElection" : {
            "ts" : Timestamp(1701235234, 1),
            "t" : NumberLong(1)
        },
                #'表示完成选举所需的投票数':'2 表示需要获得 2 票才能成功完成选举。'
        "numVotesNeeded" : 2,
                #'表示在选举时的候选节点的优先级。' :'1 是优先级的值。'           
        "priorityAtElection" : 1,
                #表示选举超时的时间(毫秒)。:'表示选举超时时间为 10 秒。'
        "electionTimeoutMillis" : NumberLong(10000),
                #'表示在选举后需要追赶的操作数量。':'表示在选举后没有需要追赶的操作。'
        "numCatchUpOps" : NumberLong(0),
                #'表示新任期开始的日期和时间。':''
        "newTermStartDate" : ISODate("2023-11-29T05:20:45.434Z"),
                #'表示写入多数节点可用的日期和时间。':''
        "wMajorityWriteAvailabilityDate" : ISODate("2023-11-29T05:20:46.516Z")
    },
 #复制集中每个成员(节点)的信息
    "members" : [
        {
                        #成员的唯一标识符,通常对应于成员在配置中的位置。
            "_id" : 0,
                        #成员的名称,通常是 IP 地址和端口号的组合,用于标识成员的网络位置。
            "name" : "192.168.0.112:30010",
                        #成员的健康状态,1 表示健康。
            "health" : 1,
                        #成员的状态代码,1 表示主节点(PRIMARY)。
            "state" : 1,
                        #成员的状态,PRIMARY表示该节点是主节点。
            "stateStr" : "PRIMARY",
                        #成员的运行时间,以秒为单位。在这里,成员已经运行了 8930 秒。
            "uptime" : 8930,
                        #表示成员的操作时间,包括时间戳和操作数。
            "optime" : {
                "ts" : Timestamp(1701238907, 1),
                "t" : NumberLong(2)
            },
                        #表示成员的 optime 的日期和时间。
            "optimeDate" : ISODate("2023-11-29T06:21:47Z"),
                        #表示最后一次应用操作的墙上时间。
            "lastAppliedWallTime" : ISODate("2023-11-29T06:21:47.044Z"),
                        #表示最后一次持久化操作的墙上时间。
            "lastDurableWallTime" : ISODate("2023-11-29T06:21:47.044Z"),
                        #表示同步源的主机地址。   为空字符串,表示没有特定的同步源。                           
            "syncSourceHost" : "",
                        #表示同步源的成员标识符。在这里,-1 表示没有特定的同步源。
            "syncSourceId" : -1,
                        #包含有关成员的信息消息。
            "infoMessage" : "",
                        #表示成员发生选举的时间。包括时间戳和操作数。
            "electionTime" : Timestamp(1701235245, 1),
                        #表示成员发生选举的日期和时间。                           
            "electionDate" : ISODate("2023-11-29T05:20:45Z"),
                        #表示成员的配置版本。
            "configVersion" : 1,
                        #表示成员的配置任期。
            "configTerm" : 2,
                        #表示是否为当前成员本身。在这里,为true,表示该节点是自身。
            "self" : true,
                        #包含有关最后一次心跳的信息消息。                           
            "lastHeartbeatMessage" : ""
        },
        {
            "_id" : 1,
            "name" : "192.168.0.112:30011",
                        #成员的健康状态,1 表示健康。
            "health" : 1,
                        #成员的状态代码,2 表示从节点(SECONDARY)。
            "state" : 2,
                        #成员的状态,表示该节点是从节点。
            "stateStr" : "SECONDARY",
            "uptime" : 3677,
            "optime" : {
                "ts" : Timestamp(1701238907, 1),
                "t" : NumberLong(2)
            },
            "optimeDurable" : {
                "ts" : Timestamp(1701238907, 1),
                "t" : NumberLong(2)
            },
            "optimeDate" : ISODate("2023-11-29T06:21:47Z"),
            "optimeDurableDate" : ISODate("2023-11-29T06:21:47Z"),
            "lastAppliedWallTime" : ISODate("2023-11-29T06:21:47.044Z"),
            "lastDurableWallTime" : ISODate("2023-11-29T06:21:47.044Z"),
            "lastHeartbeat" : ISODate("2023-11-29T06:21:50.308Z"),
            "lastHeartbeatRecv" : ISODate("2023-11-29T06:21:49.737Z"),
            "pingMs" : NumberLong(1),
            "lastHeartbeatMessage" : "",
            "syncSourceHost" : "192.168.0.112:30010",
            "syncSourceId" : 0,
            "infoMessage" : "",
            "configVersion" : 1,
            "configTerm" : 2
        },
        {
            "_id" : 2,
            "name" : "192.168.0.112:30012",
            "health" : 1,
                        #成员的状态代码,7 表示仲裁节点(ARBITER)。
            "state" : 7,
                        #成员的状态,表示该节点是仲裁节点。
            "stateStr" : "ARBITER",
            "uptime" : 3677,
            "lastHeartbeat" : ISODate("2023-11-29T06:21:50.138Z"),
            "lastHeartbeatRecv" : ISODate("2023-11-29T06:21:50.434Z"),
            "pingMs" : NumberLong(1),
            "lastHeartbeatMessage" : "",
            "syncSourceHost" : "",
            "syncSourceId" : -1,
            "infoMessage" : "",
            "configVersion" : 1,
            "configTerm" : 2
        }
    ],
 #表示状态文档的操作结果。在这里,1 表示操作成功。
    "ok" : 1,
 #集群时间的信息。
    "$clusterTime" : {
                #表示当前的集群时间
        "clusterTime" : Timestamp(1701238907, 1),
                #包含有关集群时间签名的信息。
        "signature" : {
                        #哈希值。
            "hash" : BinData(0,"8TqwK1siigjYQ3z3m24prS4dTkI="),
                        #用于签名的密钥的标识符
            "keyId" : NumberLong("7306728565888778244")
        }
    },
 #表示操作的时间
    "operationTime" : Timestamp(1701238907, 1)
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个MongoDB的配置文件示例,其中包含了常用的配置项: ``` # MongoDB配置 # 主机 mongo.host=127.0.0.1 # 端口 mongo.port=27017 # 数据库名 mongo.database=mydb # 用户名 mongo.username= # 密码 mongo.password= # 连接池最小连接数 mongo.minConnectionsPerHost=10 # 连接池最大连接数 mongo.maxConnectionsPerHost=100 # 连接池最大等待队列长度 mongo.maxWaitTime=10000 # 连接超时时间 mongo.connectTimeout=10000 # 等待超时时间 mongo.waitTimeout=120000 # Socket超时时间 mongo.socketTimeout=0 # 是否启用自动重连 mongo.autoConnectRetry=true # 每个主机允许的最大连接数 mongo.connectionsPerHost=100 # 是否启用SSL mongo.sslEnabled=false ``` 上述配置中,`mongo.host`和`mongo.port`分别指定了MongoDB服务器的主机名和端口号,`mongo.database`指定了要连接的数据库名,`mongo.username`和`mongo.password`分别指定了连接数据库的用户名和密码。`mongo.minConnectionsPerHost`和`mongo.maxConnectionsPerHost`分别指定了连接池中的最小和最大连接数,`mongo.maxWaitTime`指定了连接池中等待连接的最大时间,`mongo.connectTimeout`和`mongo.waitTimeout`分别指定了连接和等待超时时间,`mongo.socketTimeout`指定了Socket超时时间。`mongo.autoConnectRetry`指定了是否启用自动重连,`mongo.connectionsPerHost`指定每个主机允许的最大连接数,`mongo.sslEnabled`指定是否启用SSL。 需要注意的是,这只是一个示例配置文件,具体的配置项和值需要根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值