我正试图耗尽碎片。我们的设置中有两个分片。最近,我们从6个以上的独立分片开始,现在分布在剩余的2个分片上。当我在shard0012上运行removeShard命令时,它进入了消耗模式,但是所有moveChunk尝试均失败。
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("57459870ded3be752e8bb27b")
}
shards:
{ "_id" : "shard0012", "host" : "shard02:27054", "state" : 1 }
{ "_id" : "shard0016", "host" : "shard01:27050", "state" : 1 }
active mongoses:
"4.0.4" : 2
"4.0.3" : 1
autosplit:
Currently enabled: yes
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
39 : Failed with error 'aborted', from shard0012 to shard0016
在我的日志中,我将看到重复的内容:
SHARDING [Balancer] Balancer move documents.fs.chunks: [{ files_id: ObjectId('574c427815c7ad47588b73a8'), n: 295 }, { files_id: ObjectId('574c427f15c7ad47588b7503'), n: 93 }), from shard0012, to shard0016 failed :: caused by :: ShardNotFound: Shard shard0014 not found
shard0014是以前在我们的设置中使用的碎片,但根据最佳实践/官方文档已将其排干并删除。
我尝试重新启动所有mongos。我也尝试过flushRouterConfig。我在当前设置中找不到对shard0014的任何引用。
有什么方法可以更新shard0012上文档中的分片元数据?
MongoDB在Windows环境中的版本4.0.4上运行。
我希望碎片会流失。所有引用的对象ID都是可搜索的,并且在插入或更新文档方面没有任何问题。