replSetMaintenance
定义
replSetMaintenance
replSetMaintenance
管理命令启用或从节点(secondary node from replica set)副本集从节点的维护模式。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
M 0 、M 2 、M 5和 M 10 + 集群不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该命令具有以下语法:
db.runCommand( { replSetMaintenance: <boolean> } )
行为
运行replSetMaintenance
命令时请考虑以下行为:
您无法在主节点上运行该命令。
您必须针对
admin
数据库运行该命令。启用
replSetMaintenance: true
后,成员进入RECOVERING
状态。 当从节点为RECOVERING
时:无法访问该成员进行读取操作。
该成员继续从主节点同步其oplog 。
当节点收到
replSetMaintenance: true
请求时,它会将维护模式任务添加到任务队列中。 如果任务队列以前为空,现在变为空,则该节点将转换为RECOVERING
状态并开始拒绝读取请求。 当节点收到replSetMaintenance: false
请求时,它会从队列中删除维护模式任务(即使该任务是由不同客户端启动的)。 如果该请求清空维护模式任务队列,该节点将返回SECONDARY
状态。如果要阻止节点为读取提供服务,请考虑改用隐藏的副本集成员。