--- Sharding Status ---
sharding version: { "_id" : 1, "version" : 3 }
shards:
{ "_id" : "set1", "host" : "set1/m1.example.com:27018,mr1.example.com:27018,mrb1.example.com:27018" }
{ "_id" : "set2", "draining" : true, "host" : "set2/m2.example.com:27018,mr2.example.com:27018,mrb2.example.com:27018" }
{ "_id" : "set3", "host" : "set3/m3.example.com:27018,mr3.example.com:27018,mrb3.example.com:27018" }
我错误地从分片群集中删除了set2,它开始排水,我该如何停止排水呢?
答案 0 :(得分:13)
RemoveShard将启动排水过程,但没有StopRemoveShard命令。没关系,因为很容易手动停止这个过程。
排水只是平衡器开始从标记的碎片(正在排水)移动块的状态。您可以通过删除分片元数据配置上的特殊“耗尽”字段来停止耗尽。
//connect to a mongos server with the mongo javascript shell
use config
//unset draining from all shards
db.shards.update({},{$unset:{draining:true}}, false, true)
完成此操作后,平衡器将恢复正常平衡,不再耗尽碎片。