//允许分片
sh.enableShard("test");
//指定分片片键
//parma1:集合全名,parma2:片键,与创建索引一样
sh.shardCollection("test.collection",{_id:1})
//指定要在哪个片键值处分片,切分点
//parma2:指定片键的切分点
sh.splitAt("test.collcection",{_id:"middle"})
//移动分片
//parma2:根据上一步骤指定的切分点,指定分片范围,parma3:目标分片,当初sh.addshard时,会分配对应分片名
sh.moveChunk("test.collecton",{_id:{$lt:"middle"}},"shard0001");
ps. 切分成很多片时,可以不关闭Balancer,会自动迁移,比手动迁移方便!
//查询Balancer状态
sh.getBalancerState()
//启动Balancer
sh.startBalancer()
//停止Balancer
sh.stopBalancer()
删除shard
use admin
db.runCommand({removeshard:"shard0000"})
在删除分片的时候,会将该分片上的数据,转移到其他shard