全部产品
Search
文档中心

云数据库 MongoDB:重启实例或节点

更新时间:Jul 12, 2023

当云数据库MongoDB单节点实例、副本集实例、分片集群实例、分片集群实例中指定节点(任意一个Mongos节点或Shard节点)出现连接数满或性能问题时,您可以手动重启实例或指定节点。

注意事项

  • 重启实例期间会启停进程,系统会断开当前所有连接,请确保业务具有重连机制。

  • Mongod和Mongos进程启动时间通常都在30秒以内。但是当集合数量较多(超过1万),Mongod的启动时间可能达到分钟级别。进程启动完成之前,将无法连接对应节点,为了避免重启时间过长造成业务受损,建议将集合数量控制在1万以内。更多内容介绍,请参见MongoDB官网文档

  • 副本集实例重启后,可能会出现节点角色变化的情况,建议您在生产环境中使用ConnectionStringURI高可用连接地址。更多介绍,请参见副本集实例连接说明

  • 分片集群重启时,在Mongos进程重启时连接会断开,建议您在生产环境上使用ConnectionStringURI高可用连接地址,且ConnectionStringURI高可用连接地址中添加至少两个Mongos的连接地址。更多介绍,请参见分片集群实例连接说明

重启实例

  1. 登录MongoDB管理控制台

  2. 根据实例类型,在左侧导航栏,单击副本集实例列表分片集群实例列表

  3. 在页面左上角,选择实例所在的资源组和地域。

  4. 单击目标实例所在行操作列的更多,并选择重启

  5. 在弹出的重启实例对话框中,单击确定

    执行重启操作时,实例状态为重启中,当实例状态变更为运行中时,说明实例重启成功。

重启节点

说明

仅分片集群实例支持重启节点。

  1. 登录MongoDB管理控制台

  2. 在左侧导航栏,单击分片集群实例列表

  3. 在页面左上角,选择实例所在的资源组和地域。

  4. 单击目标实例ID或目标实例所在行操作列的管理

  5. Mongos列表Shard列表区域,单击目标节点所在行操作列的更多,并选择重启

  6. 在弹出的重启节点对话框中,单击确定

    执行重启操作时,实例状态为重启中,当实例状态变更为运行中时,说明节点重启成功。

常见问题

  • 问题1:重启副本集实例时,系统后台具体操作流程是什么样的?对外服务有什么影响?

    系统会先重启Hidden节点,然后重启Secondary节点(重启完成后系统会执行replSetFreeze命令,禁止Secondary节点在接下来的60秒内被选举为新的Primary节点),最后重启Primary节点。对外服务的具体影响如下:

    • Hidden节点:对业务无感知。

    • Secondary节点:Secondary节点上的连接会全部断开,客户端需要重新建立连接,此时Primary节点可用,不影响读写。

    • Primary节点:Primary节点上的连接会全部断开,客户端需要重新建立连接,此时Secondary节点可用,实例可读,但不能写。如果Primary节点60秒内完成重启,实例恢复读写;如果Primary节点60秒后没有重启完成,Secondary节点会被主动选举为Primary节点,实例恢复读写。

  • 问题2:重启分片集群实例时,系统后台具体操作流程是什么样的?对外服务有什么影响?

    系统会先重启Shard节点,然后重启ConfigServer节点,最后重启Mongos节点。对外服务的具体影响如下:

    • Shard节点:多个Shard节点并行重启。重启过程中客户端连接不会断开,但是可能会出现不可写的情况,建议稍后重试写操作。

    • ConfigServer节点:对业务无感知。

    • Mongos节点:多个Mongos节点并行重启。重启过程中会断开当前节点上的所有连接,请确保业务具有重连机制。