replSetGetStatus
定义
-
replSetGetStatus
-
replSetGetStatus
命令会从处理该命令的服务器的角度返回副本集的状态。replSetGetStatus
必须在 管理员数据库上运行。mongod
实例必须为副本集节点才能使replSetGetStatus
成功返回。此命令提供的数据源自副本集其他成员发送到服务器的心跳中包含的数据。由于心跳的频率,这些数据可能会过时几秒钟。
提示
在
mongosh
中,该命令也可通过rs.status()
辅助方法运行。辅助方法对
mongosh
用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。
语法
该命令具有以下语法:
db.adminCommand( { replSetGetStatus: 1 } )
如果在成员
初始同步
期间对成员运行
replSetGetStatus
或
mongosh
帮助程序
rs.status()
(即
STARTUP2
状态),则命令返回
replSetGetStatus.initialSyncStatus
指标。
成员完成初始同步并过渡到另一种状态后,
replSetGetStatus.initialSyncStatus
指标将不再可用。
例子
输出
replSetGetStatus 命令会返回一个包含以下字段的文件:
-
replSetGetStatus.set
-
set
值是副本集的名称,在replSetName
设置中配置。这与rs.conf()
中的_id
值相同。
-
replSetGetStatus.date
-
ISODate 格式的日期和时间,其中包含基于处理 replSetGetStatus 命令的服务器的当前时间。将此值与
replSetGetStatus.members[n].lastHeartbeat
的值进行比较,以确定此服务器与副本集其他节点之间的运行延迟。
-
replSetGetStatus.myState
-
介于
0
和10
之间的整数,表示当前成员的 副本状态 。
-
replSetGetStatus.term
-
副本集的选举次数,这是该副本集成员所知道的。分布式共识算法使用
term
来确保正确性。
-
replSetGetStatus.syncSourceHost
-
syncSourceHost
字段保存此实例同步的节点的主机名。如果此实例为主节点,则
syncSourceHost
为空字符串,且syncSourceId
会-1
。
-
replSetGetStatus.syncSourceId
-
syncSourceId
字段保存此实例与之同步的节点的replSetGetStatus.members[n]._id
。如果此实例为主节点,则
syncSourceHost
为空字符串,且syncSourceId
会-1
。
-
replSetGetStatus.writeMajorityCount
-
需要满足写关注
"majority"
的数据承载投票成员(即非仲裁节点)的数量。写操作只能应用于数据承载成员。有关
replSetGetStatus.writeMajorityCount
的计算,请参阅 计算写关注 Majority。
-
replSetGetStatus.votingMembersCount
-
使用
votes: 1
配置的成员数,包括仲裁节点。