一、添加分片
搭建好复制集后,登陆mongos,添加分片:
db.runCommand( { addshard:“repset3/127.0.0.1:37017,127.0.0.1:37018,127.0.0.1:37019”,name:“s3”});
注意要打开balancer,否则新加入分片后不会自动将数据打散:
startBalancer()
可以设置窗口避开高峰时期:
db.settings.update(
{ _id: “balancer” },
{ $set: { activeWindow : { start : “20:20”, stop : “21:30” } } },
{ upsert: true }
)
二、删除分片
删除分片:
db.adminCommand( { removeShard: “s3” } )
注意删除分片前,使用pringShardingStatus()看一下s3分片是否有以自己作为primary的database,如果有,需要先把database迁移到其他分片:
db.adminCommand( { movePrimary: “sam”, to: “s1” })
删除分片期间可以重复执行db.adminCommand( { removeShard: “s3” } )来查看进度。