#添加分片
db.runCommand( {addshard : "shardWlinkRep1/127.0.0.1:37017,127.0.0.1:37017,127.0.0.1:37017",name:"shard1"} )
#删除分片
db.runCommand( { removeShard : "shard2"} )
(1)如果balance开始,查看是否正在有数据迁移
sh.isBalancerRunning();
(2)开启Balancer(开启Balancer之后,chunks会自动均分)
sh.startBalancer();
(3)停止balance
sh.stopBalancer();
(4)关闭某个集合的balance
sh.disableBalancing("users.name");
(5)打开某个集合的balance
sh.enableBalancing("users.name");
(6)确定某个集合的balance是开启或者关闭
db.getSiblingDB("config").collections.findOne({_id : "test.doc2"})。noBalance;
(7)设置Balancer进程运行时间窗口
默认情况下Balancing进程在运行时为降低Balancing进程对系统的影响,可以设置Balancer进程的运行时间
窗口,让Balancer进程在指定时间窗口操作
#设置时间窗口
db.settings.update({ _id : “balancer” }, { $set : {activeWindow : { start : “23:00”, stop : “6:00” } } }, true )
(8)查看Balancer运行时间窗口
db.settings.find();
sh.getBalancerWindow();
(9)删除Balancer进程运行时间窗口
db.settings.update({ _id : "balancer" }, { $unset : { activeWindow : 1}});
db.settings.find();