mongodb 中rs.stauts()命令参数解析
转载请注明出处:
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等):
常见的状态包括:
|
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()命令参数解析的更多相关文章
- MongoDB中导入数据命令的使用(mongoimport)
MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...
- java中的各种命令参数
java中有很多命令参数,这些命令参数有些是控制jvm行为的,有的则是供应用程序使用.我所了解的参数主要有三种,现在说一说这三种类型的参数. (1)命令行参数. 命令行参数就是类似与c语言的命令行参数 ...
- Python 中使用optparse进行参数解析
使用过Linux/Unix的人都会知道,命令行下的很多命令都需要参数,在C语言中添加和解析参数比较繁琐.Python中提供了optparse模块可以非常方便地处理命令行参数. 1 命令行参数的样 ...
- Linux – Usermod命令参数解析和实例说明
usermod 命令修改系统帐户文件来反映通过命令行指定的变化 1. 首先看看usermod都是有哪些参数 [root@hxweb101 ~]$ usermod --help Usage: userm ...
- 命令参数解析库JCommonder
1.JCommander 是一个非常小的Java 类库,用来解析命令行参数. 2.参数类型:可以是任意类型,但我使用的只有 List,String. @Parameter(name="-s& ...
- nutch2.3命令参数解析
nutch中可执行的命令列表 [root@ewanalysis ~]# nutch Usage: nutch COMMAND where COMMAND is one of: inject injec ...
- Linux Shell : Test命令参数解析
格式: test conditions test -n string : string 不为空 test -z string : string 为空 test int1 -eq int2 : int ...
- python中的argparse模块(参数解析)
import argparseparse = argparse.ArgumentParser()parse.add_argument("a", help="params ...
- 嵌入式驱动开发之uboot---uboot 中的常见命令参数参数
Uboot相关命令介绍 bootm bootp cmp cp crc32 echo erase flinfo go minfo loadb loads mw 14mw 用指定的数据填充内存 15md ...
- Linux Top 命令参数解析
转载自:http://www.jb51.net/LINUXjishu/34604.html TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户 ...
随机推荐
- TS:菜单数组转树形,支持多级(递归)
方法一 import {menus} from './menus.ts' function listToTree(list: any = [], options = {}, data = null) ...
- Sysbench 使用总结
Sysbench使用总结 实践环境 CentOS 7.8 Sysbench 1.0.20 下载地址:https://github.com/akopytov/sysbench/archive/refs/ ...
- .NET周刊【7月第4期 2024-07-28】
国内文章 .NET 高性能缓冲队列实现 BufferQueue https://mp.weixin.qq.com/s/fUhJpyPqwcmb3whuV3CDyg BufferQueue 是一个用 . ...
- Python+requests编写接口用例
1.python编写接口用例需要依赖requests模块,我们先确认本地是否安装了requests模块,没有安装的先进行安装. pycharm工具查看已安装的模块:File->Setting-& ...
- 【JavaScript】下滑线命名转驼峰命名处理
同事写接口返回的JSON属性名称始终不一致,一会下划线一会驼峰 然后自己封装了一个: function toHump(name){ var newName = name.toLowerCase(); ...
- 【Linux】00 Docker下载安装(CentOS8)
官方安装文档: https://docs.docker.com/engine/install/centos/ 先全部卸载Docker有无关系的一些环境 [保证一个干净的部署环境] sudo yum r ...
- Ubuntu18.04环境下安装网络代理软件 proxychains
安装: 网络代理软件proxychains安装: sudo apt-get install proxychains 为保证使用 proxychains 时 sudo proxychains 时可以实现 ...
- 如何在WSL2中安装可执行编译.cu文件的cuda环境
参考nvidia官方文档: https://docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-insider-preview-buil ...
- 【转载】 在PyTorch训练一个epoch时,模型不能接着训练,Dataloader卡死——在pytorch中尽量不要使用opencv而是使用PIL
版权声明:本文为CSDN博主「时光碎了天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/u013289254/ ...
- 利用sql查出的结果集重新生成一张虚拟表
"select * from ( SELECT mc.id,mc.sn,mc.updated,mc.client_name,mc.brand,mc.mileage,mc.displace,m ...