转载请注明出处:

  rs.status()命令用于获取MongoDB副本集的状态信息。它提供了关于副本集中各个节点的详细信息,包括节点的健康状况、角色、选举状态等。

  以下是查看一个mongo集群状态返回的参数:

rs0:PRIMARY> rs.status()
{
"set" : "rs0",
"date" : ISODate("2024-09-14T06:44:36.882Z"),
"myState" : 1,
"term" : NumberLong(510),
"syncingTo" : "",
"syncSourceHost" : "",
"syncSourceId" : -1,
"heartbeatIntervalMillis" : NumberLong(2000),
"majorityVoteCount" : 2,
"writeMajorityCount" : 2,
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"),
"appliedOpTime" : {
"ts" : Timestamp(1726296270, 1),
"t" : NumberLong(510)
},
"durableOpTime" : {
"ts" : Timestamp(1726296270, 1),
"t" : NumberLong(510)
},
"lastAppliedWallTime" : ISODate("2024-09-14T06:44:30.859Z"),
"lastDurableWallTime" : ISODate("2024-09-14T06:44:30.859Z")
},
"lastStableRecoveryTimestamp" : Timestamp(1725300368, 3),
"lastStableCheckpointTimestamp" : Timestamp(1725300368, 3),
"electionCandidateMetrics" : {
"lastElectionReason" : "electionTimeout",
"lastElectionDate" : ISODate("2024-09-14T06:28:20.630Z"),
"electionTerm" : NumberLong(510),
"lastCommittedOpTimeAtElection" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"lastSeenOpTimeAtElection" : {
"ts" : Timestamp(1726284227, 1),
"t" : NumberLong(509)
},
"numVotesNeeded" : 2,
"priorityAtElection" : 2,
"electionTimeoutMillis" : NumberLong(10000),
"numCatchUpOps" : NumberLong(0),
"newTermStartDate" : ISODate("2024-09-14T06:28:20.830Z")
},
"members" : [
{
"_id" : 0,
"name" : "mongo1:27017",
"health" : 1,
"state" : 9,
"stateStr" : "ROLLBACK",
"uptime" : 987,
"optime" : {
"ts" : Timestamp(1726197065, 1),
"t" : NumberLong(505)
},
"optimeDurable" : {
"ts" : Timestamp(1726197065, 1),
"t" : NumberLong(505)
},
"optimeDate" : ISODate("2024-09-13T03:11:05Z"),
"optimeDurableDate" : ISODate("2024-09-13T03:11:05Z"),
"lastHeartbeat" : ISODate("2024-09-14T06:44:35.841Z"),
"lastHeartbeatRecv" : ISODate("2024-09-14T06:44:36.665Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "",
"syncingTo" : "mongo2:27017",
"syncSourceHost" : "mongo2:27017",
"syncSourceId" : 1,
"infoMessage" : "",
"configVersion" : 1950478
},
{
"_id" : 1,
"name" : "mongo2:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 990,
"optime" : {
"ts" : Timestamp(1726296270, 1),
"t" : NumberLong(510)
},
"optimeDate" : ISODate("2024-09-14T06:44:30Z"),
"syncingTo" : "",
"syncSourceHost" : "",
"syncSourceId" : -1,
"infoMessage" : "",
"electionTime" : Timestamp(1726295300, 1),
"electionDate" : ISODate("2024-09-14T06:28:20Z"),
"configVersion" : 1950478,
"self" : true,
"lastHeartbeatMessage" : ""
},
{
"_id" : 2,
"name" : "mongo3:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 987,
"optime" : {
"ts" : Timestamp(1726197065, 1),
"t" : NumberLong(505)
},
"optimeDurable" : {
"ts" : Timestamp(1726197065, 1),
"t" : NumberLong(505)
},
"optimeDate" : ISODate("2024-09-13T03:11:05Z"),
"optimeDurableDate" : ISODate("2024-09-13T03:11:05Z"),
"lastHeartbeat" : ISODate("2024-09-14T06:44:34.930Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : NumberLong(1),
"lastHeartbeatMessage" : "",
"syncingTo" : "",
"syncSourceHost" : "",
"syncSourceId" : -1,
"infoMessage" : "",
"configVersion" : 1829326
}
],
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1726296270, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1726296270, 1)
}
rs0:PRIMARY>

以下是rs.status()响应字段的意义及其对应值的整理:

字段 意义 示例值
set 副本集的名称 "rs0"
date 响应生成的时间 ISODate("2024-09-14T06:44:36Z")
myState 当前节点的状态(1: PRIMARY, 2: SECONDARY, 3: RECOVERING等):

常见的状态包括:

  • PRIMARY (1): 当前节点是主节点,负责处理所有写入操作。
  • SECONDARY (2): 当前节点是从节点,复制主节点的数据并提供读取服务。
  • ARBITER (7): 当前节点是仲裁者,不存储数据,仅参与选举过程。
  • OTHER (8): 当前节点的状态不属于上述任何一种,通常是由于配置或网络问题。
  • RECOVERING (9): 当前节点正在恢复中,通常是从不健康状态恢复。
  • DOWN (10): 当前节点不可用,可能是由于网络问题或故障。
  • STARTUP (11): 当前节点正在启动,尚未完成初始化。
  • STARTUP2 (12): 当前节点在启动的第二阶段,正在进行数据同步。
  • UNKNOWN (13): 当前节点的状态未知,可能是由于网络分区或其他问题。
1
term 当前选举周期 510
lastElectionReason 最近一次选举的原因 "electionTimeout"
members 副本集成员的详细信息 数组,包含各个节点的信息
health 节点的健康状态(1: 健康, 0: 不健康) 1
stateStr 节点的状态描述(如 PRIMARY, SECONDARY, ROLLBACK等) "SECONDARY"
uptime 节点的运行时间(秒) 987
optime 最近一次操作的时间戳 Timestamp(1726197065, 1)
optimeDurable 最近一次持久化操作的时间戳 Timestamp(1726197065, 1)
optimeDate 最近一次操作的日期 ISODate("2024-09-13T03:11:05Z")
optimeDurableDate 最近一次持久化操作的日期 ISODate("2024-09-13T03:11:05Z")
lastHeartbeat 最近一次心跳信号的时间 ISODate("2024-09-14T06:44:34.930Z")
lastHeartbeatRecv 最近一次接收到心跳信号的时间 ISODate("1970-01-01T00:00:00Z")
pingMs 节点的延迟(毫秒) NumberLong(1)
lastHeartbeatMessage 最近一次心跳的消息 ""
syncingTo 当前节点正在同步的目标节点 ""
syncSourceHost 当前节点的同步源主机 ""
syncSourceId 当前节点的同步源ID -1
infoMessage 额外的信息消息 ""
configVersion 配置版本号 1829326
$clusterTime 集群时间信息 包含 clusterTime 和 signature
operationTime 最近一次操作的时间 Timestamp(1726296270, 1)

使用场景

  • 故障排查: 当副本集出现问题时,使用rs.status()可以快速定位故障节点。
  • 性能监控: 定期检查副本集状态,以确保所有节点正常运行并及时发现性能瓶颈。
  • 维护操作: 在进行维护或升级操作前,确认副本集的健康状况。
  • 选举监控: 监控选举过程,确保主节点的选举和切换正常进行。

mongodb 中rs.stauts()命令参数解析的更多相关文章

  1. MongoDB中导入数据命令的使用(mongoimport)

    MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...

  2. java中的各种命令参数

    java中有很多命令参数,这些命令参数有些是控制jvm行为的,有的则是供应用程序使用.我所了解的参数主要有三种,现在说一说这三种类型的参数. (1)命令行参数. 命令行参数就是类似与c语言的命令行参数 ...

  3. Python 中使用optparse进行参数解析

    使用过Linux/Unix的人都会知道,命令行下的很多命令都需要参数,在C语言中添加和解析参数比较繁琐.Python中提供了optparse模块可以非常方便地处理命令行参数.   1  命令行参数的样 ...

  4. Linux – Usermod命令参数解析和实例说明

    usermod 命令修改系统帐户文件来反映通过命令行指定的变化 1. 首先看看usermod都是有哪些参数 [root@hxweb101 ~]$ usermod --help Usage: userm ...

  5. 命令参数解析库JCommonder

    1.JCommander 是一个非常小的Java 类库,用来解析命令行参数. 2.参数类型:可以是任意类型,但我使用的只有 List,String. @Parameter(name="-s& ...

  6. nutch2.3命令参数解析

    nutch中可执行的命令列表 [root@ewanalysis ~]# nutch Usage: nutch COMMAND where COMMAND is one of: inject injec ...

  7. Linux Shell : Test命令参数解析

    格式: test conditions test -n string : string 不为空 test -z string : string 为空 test int1 -eq int2  : int ...

  8. python中的argparse模块(参数解析)

    import argparseparse = argparse.ArgumentParser()parse.add_argument("a", help="params ...

  9. 嵌入式驱动开发之uboot---uboot 中的常见命令参数参数

    Uboot相关命令介绍 bootm bootp cmp cp crc32 echo erase flinfo go minfo loadb loads mw 14mw 用指定的数据填充内存 15md ...

  10. Linux Top 命令参数解析

    转载自:http://www.jb51.net/LINUXjishu/34604.html TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户 ...

随机推荐

  1. KU FPGA FLASH boot失败debug

    原因 新板子回来后,测试flash 烧录正常,但是无法BOOT,此时SPI设置为X4模式,使用内部时钟,速度90M.烧录过程不报错,校验也正常. FLASH理论支持最大速度108M,90M应该还好.另 ...

  2. Ubuntu16.04升级openssh-9.8p1

    7月1日OpenSSH官方发布安全更新,忙着处理的同时记录一下升级过程. 系统环境 root@NServer:~# cat /proc/version Linux version 3.4.113-su ...

  3. Python 基于Python生成短8位唯一id解决方案

    基于Python生成短8位唯一id解决方案 by:授客 QQ:1033553122 测试环境: Win10 Python 3.5.4   实现思路 利用62个可打印字符,通过随机生成32位UUID,由 ...

  4. css3实现背景三角形样式

    话不多说上效果图: css: font-family: PingFang-SC-Heavy, PingFang-SC; font-weight: 800; color: #2160AD; border ...

  5. Known框架实战演练——进销存业务单据

    本文介绍如何实现进销存管理系统的业务单据模块,业务单据模块包括采购进货单.采购退货单.销售出货单.销售退货单4个菜单页面.由于进销单据字段大同小异,因此设计共用一个页面组件类. 项目代码:JxcLit ...

  6. 《Programming from the Ground Up》阅读笔记:p88-p94

    <Programming from the Ground Up>学习第5天,p88-p94总结,总计7页. 一.技术总结 1.touppercase.s #PURPOSE: This pr ...

  7. 【Windows】更改Win10字体和Cmd字体

    教程参考: https://www.windowszj.com/news/20837.html Win + R 打开运行窗口 输入 regedit 打开注册表编辑窗口 位置地址: 计算机\HKEY_L ...

  8. 【DataBase】MySQL 09 SQL函数 单行函数其三 日期函数

    日期函数 日期&时间函数 NOW 当前日期时间. CURDATE 当前日期. CURTIME 当前时间 -- NOW();返回系统日期+时间 SELECT NOW(); -- CURDATE( ...

  9. 【Vue】04 模块化开发演变

    JS最初的目的是用来做表单验证和动画效果,可以让网页更加生动. 但是使用Ajax,前后端分离,页面承担了更多的事情,JS的代码量暴增,代码管理维护逐渐困难 我们需要将JS代码抽取出来,模块化处理, 但 ...

  10. git警告信息:Encountered 1 file(s) that may not have been copied correctly on Windows: —— See: `git lfs help smudge` for more details.

    git报警信息: 官方讨论的帖子: https://github.com/git-lfs/git-lfs/issues/2434 说下个人的理解: 在git管理中,对于大文件(一般为压缩后的二进制文件 ...