mongos的一个重要功能,自动巡查所有shard节点上的chunk的情况,自动做chunk迁移。 什么时候工作? 1、自动运行,会检测系统不繁忙的时候做迁移 2、在做节点删除的时候,立即开始迁移工作 3、balancer只能在预设定的时间窗口内运行 有需要时可以关闭和开启blancer(备份的时候) mongos> sh.stopBalancer() mongos> sh.startBalancer()
自定义 自动平衡进行的时间段
https://docs.mongodb.com/manual/tutorial/manage-sharded-cluster-balancer/#schedule-the-balancing-window mongos> use config mongos> sh.setBalancerState( true ) mongos> db.settings.update({ _id : "balancer" }, { $set : { activeWindow : { start : "3:00", stop : "5:00" } } }, true ) mongos> sh.getBalancerWindow() { "start" : "3:00", "stop" : "5:00" } mongos> sh.status() Balancer active window is set between 3:00 and 5:00 server local time
关于集合的balancer(了解下)
关闭某个集合的balance sh.disableBalancing("students.grades") 打开某个集合的balancer sh.enableBalancing("students.grades") 确定某个集合的balance是开启或者关闭 db.getSiblingDB("config").collections.findOne({_id : "students.grades"}).noBalance;