mongodb 配置均衡器的运行窗口

时间:2022-09-04 15:53:22

考虑到数据迁移会降低系统性能,可以配置均衡器在只在特定时间段运行,比如夜里系统负载比较小的时候。
详细的配置步骤如下;

  1. 连接到任意的mongos服务器,并通过安全认证(如果有认证的话)。
  2. 切换到config数据库:
    use config
  3. 启动均衡器:
    sh.setBalancerState( true )
  4. 配置时间窗口:
    db.settings.update(
    { _id: "balancer" },
    { $set: { activeWindow : { start : "<start-time>", stop : "<stop-time>" } } },
    { upsert: true }
    )

    <start-time> 和 <end-time>的格式是"HH:MM",其中"HH"(小时)的取值范围是"00 - 23","MM"(分钟)的取值范围是"00 - 59"。

  5. 注意事项

    1.   当设置了均衡器运行窗口后,就不能执行sh.startBalancer()了,因为虽然会返回成功,但其实并没有开始,如下:
      mongos> sh.startBalancer()
      { "ok" : 1 }

    2.   如果需要删除时间窗口,执行如下命令:

      use config
      db.settings.update({ _id : "balancer" }, { $unset : { activeWindow : true } })