更新时间: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的步骤
- 通过mongo shell 登录数据库。
- 在mongos节点命令窗口中,使用如下命令,切换至config数据库。
use config
- 执行如下命令,判断是否可以关闭balancer。
while( sh.isbalancerrunning() ) { print("waiting..."); sleep(1000); }
- 如果返回结果是waiting,则表示当前balancer正在执行块(chunk)迁移,此时不能执行关闭balancer的命令,否则可能引起数据不一致。
图1 查看输出结果
- 如果返回结果是空,则表示当前balancer没有在进行块(chunk)迁移,此时可以执行下一步的关闭balancer的命令。
- 如果返回结果是waiting,则表示当前balancer正在执行块(chunk)迁移,此时不能执行关闭balancer的命令,否则可能引起数据不一致。
- 关闭balancer。
- 如果是整个实例的迁移,则执行如下命令,可以关闭整个实例的balancer。
sh.stopbalancer()
- 如果要关闭待迁移且已经开启了分片的集合的balancer,则执行如下命令:
sh.disablebalancing("database.collection")
其中database.collection表示要关闭的集合的namespace。
- 如果是整个实例的迁移,则执行如下命令,可以关闭整个实例的balancer。
父主题:
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨
more