#添加分片
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();