本文介绍如何释放分片集群实例的Mongos节点或Shard节点。

注意事项

  • 释放节点的过程中,分片集群实例的状态会一直为删除节点中,此时,无法对该实例进行密码重置、角色切换、变更节点连接地址或修改参数等操作,建议您在业务低峰期释放。
  • 请确保业务已经不再使用待释放的节点。
  • 释放Mongos节点时,Mongos节点的数量需为3个及以上,以确保实例的高可用性。

    当Mongos节点的数量小于3时,云数据库MongoDB不支持释放Mongos节点。

  • 释放Shard节点:
    • Shard节点数据量、Balancing Window和Jumbo Chunk等因素会影响释放节点的实际耗时。
      说明 关于Balancing Window和Jumbo Chunk的更多信息,请参见Balancing WindowJumbo Chunk
    • 请确保剩余的Shard节点有足够的存储空间。

      Shard节点在释放过程中,会将存储的数据迁移至剩余Shard节点。当剩余Shard节点的存储空间被占满时,为避免数据丢失,实例会自动锁定。

    • 数据从待释放的Shard节点迁移至剩余Shard节点时,若出现duplicated key报错,请排查唯一索引字段的值是否相同。

      例如:不同的Shard节点上存储着分片键不同的两个文档,但是主键却相同。

      说明 duplicated key报错通常是因为数据库中存在孤立文档所致,建议您在释放Shard前先清理孤立文档。清理操作请参见清理孤立文档

操作步骤

  1. 登录MongoDB管理控制台
  2. 在左侧导航栏,单击分片集群实例列表
  3. 在页面左上角,选择实例所在的资源组和地域。
  4. 单击目标实例ID或目标实例所在行操作管理
  5. 根据释放的节点类型,选择对应的操作。
    • 释放Mongos节点

      Mongos列表区域,单击目标Mongos节点所在行操作列的更多,并选择释放

    • 释放Shard节点
      重要 释放Shard节点前,请确保剩余的Shard节点有足够的存储空间。

      Shard节点在释放过程中,会将存储的数据迁移至剩余Shard节点。当剩余Shard节点的存储空间被占满时,为避免数据丢失,实例会自动锁定。

      Shard列表区域,单击目标Shard节点所在行操作列的更多,并选择释放

  6. 在弹出的释放节点对话框中,单击确定
    执行释放节点操作时,实例状态为删除节点中