更新时间:2023-05-16 gmt 08:00

如何关闭集合均衡器balancer-凯发k8国际娱乐官网入口

使用drs服务进行mongodb数据库分片集群到分片集群的迁移,必须关闭要迁移集合的均衡器balancer。

  • dds集群关闭集合均衡器balancer需调用api接口,参考,具体方法可咨询dds凯发k8国际娱乐官网入口的技术支持。自建mongodb设置可参考如下步骤
  • 迁移结束后请开启balancer,因为在迁移期间关闭了balancer,源数据库的不同shard可能产生了不等量的块(chunk),在balancer开启之后集群shard之间的块(chunk)移动会暂时影响源数据库的性能。

关闭balancer的步骤

  1. 通过mongo shell 登录数据库。
  2. 在mongos节点命令窗口中,使用如下命令,切换至config数据库。

    use config

  3. 执行如下命令,判断是否可以关闭balancer。
    while( sh.isbalancerrunning() ) {      
              print("waiting...");           
              sleep(1000);
    }
    • 如果返回结果是waiting,则表示当前balancer正在执行块(chunk)迁移,此时不能执行关闭balancer的命令,否则可能引起数据不一致。
      图1 查看输出结果
    • 如果返回结果是空,则表示当前balancer没有在进行块(chunk)迁移,此时可以执行下一步的关闭balancer的命令。
  4. 关闭balancer。
    • 如果是整个实例的迁移,则执行如下命令,可以关闭整个实例的balancer。
      sh.stopbalancer()
    • 如果要关闭待迁移且已经开启了分片的集合的balancer,则执行如下命令:
      sh.disablebalancing("database.collection")

      其中database.collection表示要关闭的集合的namespace。

分享:

more

网站地图