要删除副本集的成员,请使用以下任一过程。
rs.remove()
关闭mongod
您要删除的成员的实例。要关闭实例,请使用
mongo
外壳程序和db.shutdownServer()
方法进行连接。
连接到副本集的当前primary。要确定当前的主数据库,请db.isMaster()
在连接到副本集的任何成员时使用。
使用rs.remove()
以下两种形式之一删除成员:
如果副本集需要选择新的主数据库,则MongoDB可能会短暂断开外壳程序的连接。然后,在这种情况下,外壳会自动重新连接。即使命令成功,外壳程序也会显示错误。DBClientCursor::init call() failed
rs.reconfig()
要删除成员,您可以手动编辑副本集配置文档,如此处所述。
关闭mongod
您要删除的成员的实例。要关闭实例,请使用
mongo
外壳程序和db.shutdownServer()
方法进行连接。
连接到副本集的当前primary。要确定当前的主数据库,请db.isMaster()
在连接到副本集的任何成员时使用。
发出rs.conf()
方法以查看当前配置文档并确定members
要删除的成员在数组中的位置
:
例
mongod_C.example.net
位于2
以下配置文件的位置:
将当前配置文档分配给变量cfg
:
修改cfg
对象以删除成员。
例
要删除,请mongod_C.example.net:27017
使用以下JavaScript操作:
通过发出以下命令,用新配置覆盖副本集配置文档:
要确认新配置,请发出rs.conf()
。
对于上面的示例,输出为: