replSetMaintenance
定义
replSetMaintenance
该
replSetMaintenance
管理命令可以启用或禁用副本集的次要成员的维护模式。次要成员的 副本集。
兼容性
此命令在以下环境中提供:
MongoDB Atlas:云中MongoDB部署的完全托管服务
重要
此命令不支持在M0、M2、M5和M10+集群中。更多信息,请参阅不支持命令。
MongoDB Enterprise:基于订阅的自托管MongoDB版本
MongoDB Community:源代码可用的,免费使用和自托管MongoDB版本
语法
该命令具有以下语法
db.runCommand( { replSetMaintenance: <boolean> } )
行为
在运行 replSetMaintenance
命令时,请注意以下行为
您不能在主节点上运行此命令。
您必须针对
admin
数据库运行此命令。当启用
replSetMaintenance: true
时,成员进入RECOVERING
状态。在从节点处于RECOVERING
状态时该成员无法进行读取操作。
该成员继续从主节点同步其 操作日志。
当节点收到一个
replSetMaintenance: true
请求时,它将维护模式任务添加到任务队列中。如果任务队列之前为空,现在不为空,节点将转换为RECOVERING
状态并开始拒绝读取请求。当节点收到一个replSetMaintenance: false
请求时,它将维护模式任务从队列中移除(即使该任务由不同的客户端发起)。如果请求清空了维护模式任务队列,节点将返回到SECONDARY
状态。如果您想阻止节点处理读取操作,请考虑使用 隐藏副本集成员。