在我的MongoDB分片集群中,我使用db.runCommand( { removeshard: "shard3" } )
命令删除分片“shard3”,但它只是将分片置于排水模式,该模式将永远不会结束并且过去三天。碎片“shard3”的所有块都移动到“shard1”或“shard2”,但APP读取请求可以使用它来查询数据。所以我想知道现在分片的哪个过程或如何诊断这个问题?
答案 0 :(得分:2)
您可能有一个使用shard3
作为主分片的数据库,请检查db.printShardingStatus()
的输出以查看每个数据库所在的位置。
一旦找出它是哪个数据库,move it to a different shard使用movePrimary
命令。然后再次运行removeShard
,你应该好好去。