释放Mongos节点或Shard节点

在您的业务低峰期或Shard节点规模超过实际需求时,可以通过释放Mongos节点或Shard节点以达到节省成本的目的。本文介绍如何释放分片集群实例的Mongos节点或Shard节点。

注意事项

  • 释放节点的过程中,分片集群实例的状态会变为删除节点中,此时,您将无法对该实例进行密码重置、角色切换、变更节点连接地址或修改参数等操作,建议您在业务低峰期释放。

  • 请确保业务已经不再使用待释放的节点。

  • Mongos节点数量为2时不支持释放Mongos节点。

  • 释放Shard节点:

    • 释放Shard节点前,请确保已开启MongoDB均衡器Balancer。开启Balancer,请参见管理MongoDB均衡器Balancer

    • Shard节点数据量、Balancing WindowJumbo Chunk等因素会影响释放节点的实际耗时。

      说明

      关于Balancing WindowJumbo 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. 释放节点对话框中,单击确定

    执行释放节点操作时,实例状态为删除节点中