MongoDB中缩减Shard集群(删除一个Shard)

对MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。

但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。

以下内容翻译自:http://docs.mongodb.org/manual/tutorial/remove-shards-from-cluster/

1、执行RemoveShard命令

上面这句会立即返回,实际在后台执行。

2、查看迁移状态

我们可以反复执行上面语句,查看执行结果。

从上面可以看到,正在迁移,还剩下42块没迁移完。

当remain为0之后,这一步就结束了。

3、移出非Shard数据

如果你要删除的Shard分片恰好是primary,那么执行这一步,否则请跳过

这次就不是立即返回了,需要很久,然后会返回如下:

4、最后的清理

上面步骤都完成后,还需要再执行一次RemoveShard,清理残余数据。

执行成功后,会如下结果:

显示completed后,就可以安心的关闭mongod的进程了。

Leave a Reply

Your email address will not be published.