Mongodb移除碎片-Can';I don’一次不能有多个排水碎片

Mongodb移除碎片-Can';I don’一次不能有多个排水碎片,mongodb,Mongodb,我有一个mongodb集群,由8个包含多个数据库的碎片组成。我们已经将大的收藏品进行了切分,其他的没有切分。在过去的某个时候,当我们运行2.0时,我们删除了两个碎片,因此这两个碎片进入了排水状态。由于这些碎片上有未硬化的集合,因此排水永远无法完成 现在,当我们将集群升级到2.2版本时,我尝试去除这两个碎片(正在消耗的碎片)。所以我把所有的原色移到了其他的碎片上,试图移除碎片,我得到了这个: mongos> db.runCommand( { removeShard: "shard0000"

我有一个mongodb集群,由8个包含多个数据库的碎片组成。我们已经将大的收藏品进行了切分,其他的没有切分。在过去的某个时候,当我们运行2.0时,我们删除了两个碎片,因此这两个碎片进入了排水状态。由于这些碎片上有未硬化的集合,因此排水永远无法完成

现在,当我们将集群升级到2.2版本时,我尝试去除这两个碎片(正在消耗的碎片)。所以我把所有的原色移到了其他的碎片上,试图移除碎片,我得到了这个:

mongos> db.runCommand( { removeShard: "shard0000" } )
{ "ok" : 0, "errmsg" : "Can't have more than one draining shard at a time" }
现在我无法移除任何碎片。我希望有人知道发生了什么,以及如何解决它


提前谢谢。

我想自己回答这个问题会很好,因为以后我会找到摆脱这种状况的方法。我所做的是: 首先,将初选从碎片移动到另一个碎片。 当所有原色都移动到另一个shard时,我手动从config.shard集合中删除了该条目。
最后重启了mongos。如果有多个mongos,请重新启动所有mongos。

要完成删除操作,请检查状态,如果区块移动已完成,请再次运行删除命令。
这将“完成”删除命令,并允许运行另一个删除碎片命令。

是否共享您的sh.status()输出?我的数据库太多了。产量实在太大了。您到底想知道什么?它为您试图删除的碎片列出了什么?因此,在输出的数据库部分中没有任何db条目。但是在shards部分有以下条目:{“_id”:“shard0000”,“drawing”:true,“host”:“shard0000/xxx.xxx.xxx.xxx:27017,xxx.xxx.xxx.xxx:27017”}@AbhayPS你最后做了什么?