本文介绍如何释放分片集群实例的Mongos节点或Shard节点。
注意事项
- 释放节点的过程中,分片集群实例的状态会一直为删除节点中,此时,无法对该实例进行密码重置、角色切换、变更节点连接地址或修改参数等操作,建议您在业务低峰期释放。
- 请确保业务已经不再使用待释放的节点。
- 释放Mongos节点时,Mongos节点的数量需为3个及以上,以确保实例的高可用性。
当Mongos节点的数量小于3时,云数据库MongoDB不支持释放Mongos节点。
- 释放Shard节点:
- Shard节点数据量、Balancing Window和Jumbo Chunk等因素会影响释放节点的实际耗时。说明 关于Balancing Window和Jumbo Chunk的更多信息,请参见Balancing Window和Jumbo Chunk。
- 请确保剩余的Shard节点有足够的存储空间。
Shard节点在释放过程中,会将存储的数据迁移至剩余Shard节点。当剩余Shard节点的存储空间被占满时,为避免数据丢失,实例会自动锁定。
- 数据从待释放的Shard节点迁移至剩余Shard节点时,若出现
duplicated key
报错,请排查唯一索引字段的值是否相同。例如:不同的Shard节点上存储着分片键不同的两个文档,但是主键却相同。
说明duplicated key
报错通常是因为数据库中存在孤立文档所致,建议您在释放Shard前先清理孤立文档。清理操作请参见清理孤立文档。
- Shard节点数据量、Balancing Window和Jumbo Chunk等因素会影响释放节点的实际耗时。
操作步骤
- 登录MongoDB管理控制台。
- 在左侧导航栏,单击分片集群实例列表。
- 在页面左上角,选择实例所在的资源组和地域。
- 单击目标实例ID或目标实例所在行操作列管理。
- 根据释放的节点类型,选择对应的操作。
- 释放Mongos节点
在Mongos列表区域,单击目标Mongos节点所在行操作列的
,并选择释放。
- 释放Shard节点重要 释放Shard节点前,请确保剩余的Shard节点有足够的存储空间。
Shard节点在释放过程中,会将存储的数据迁移至剩余Shard节点。当剩余Shard节点的存储空间被占满时,为避免数据丢失,实例会自动锁定。
在Shard列表区域,单击目标Shard节点所在行操作列的
,并选择释放。
- 释放Mongos节点
- 在弹出的释放节点对话框中,单击确定。 执行释放节点操作时,实例状态为删除节点中。