更新时间:2026-08-14 GMT+08:00
分享

重启集群

在面临配置变更、故障恢复等场景时,为避免因不当重启引发服务中断或大规模分片重分配导致的集群不可用风险,CSS服务的OpenSearch集群提供了两种重启机制:滚动重启和快速重启。

重启模式对比

表1 重启模式介绍

重启模式

快速重启

滚动重启

业务影响

业务中断,影响高。

集群将完全停止服务,期间无法进行读写操作。

业务不中断,影响低。

仅重启中的节点暂时不可用,集群整体持续提供服务。

原理

并行操作。一次性关闭并重启选定的所有节点。

串行操作:重启A节点 > 等待恢复 > 重启B节点 > 等待恢复...

数据安全性

数据安全性中,如果强制重启未停止写入的集群,存在数据丢失风险。

数据安全性高,系统会自动处理分片分配,避免数据丢失。

耗时

所有节点并发重启,通常耗时短一些。

需等待每个节点重启并恢复健康后,才进行下一个节点重启,耗时长一些。

适用场景

适用于开发或测试环境、集群已完全死锁、或者业务允许停机的场景。

适用于生产环境、对可用性要求高的业务、数据量大的集群。

节点数量限制

无节点数量限制。

节点总数大于或等于3。

约束限制

不支持重启的集群:“任务状态”“冻结”或存在其他正在进行中的任务。

操作前检查

  • 检查集群健康状态:确认“任务状态”不存在其他正在进行中的任务。
  • 建议暂停高并发的数据导入任务,避免重启期间因主分片切换导致写入失败。
  • 建议在业务低峰期操作,减少集群负载波动,影响数据完整性或服务可用性。
  • 执行滚动重启前,请检查索引副本数,确认索引的副本数≥1。

各节点类型重启说明

在按节点类型或节点名称重启前,请根据目标节点的角色,提前了解以下注意事项。

表2 重启说明

节点类型

重启注意事项

数据节点和冷数据节点

  • 生产环境建议按“暂停分片分配 > 重启单节点 > 分片恢复完成 > 重启下一个节点”的顺序滚动操作,具体请参见相关操作:管理分片分配策略
  • 大量分片场景:建议延长分片延迟分配的等待时间,防止节点短暂离线触发不必要的分片重分配,导致集群负载过高。默认延迟时间为1分钟,可按需调整:
    PUT _all/_settings
    {
      "settings": {
        "index.unassigned.node_left.delayed_timeout": "5m"
      }
    }

Master节点

  • 现网运行集群,禁止一次性全部Master节点同时重启。Master节点管理集群元数据,一次性重启会触发元数据重新分配,导致集群恢复时间变长。
  • 建议按节点名称逐个重启,主Master节点最后重启。

    执行以下命令查看当前主Master节点(“master”列为“*”即为主Master节点):

    GET /_cat/nodes?v

    响应示例:

    ip             heap.percent ram.percent cpu load_1m  node.role master name
    192.168.67.132           54          96   5    0.79  dimr      *      css-ess-esn-3-1
    192.168.100.80           22          94   4    0.58  dimr      -      css-ess-esn-1-1

Client节点

  • Client节点仅负责请求转发和预处理,重启不会触发分片重分配,但会导致接入该节点的请求失败。重启前请确认应用侧是否存在直连该节点IP的情况。
  • Client节点可批量重启,恢复速度快,也可通过提前切换应用接入IP来规避请求失败。

快速重启

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > OpenSearch”
  3. 在集群列表,选择目标集群,单击操作列的“更多 > 重启”
  4. 在“重启集群”页面配置参数。
    表3 配置快速重启

    参数

    说明

    重启模式

    选择“快速重启”

    操作角色

    选择按“节点类型”重启还是“节点名称”重启。

    • 节点类型:选择某一节点类型或多种节点类型同时重启。适用于需重启某类特定节点(如仅重启所有Client节点释放连接数)。
    • 节点名称:一次只能选择重启一个节点。适用于精确定位故障节点,仅重启某一个具体的异常节点。

    操作值

    基于选择的操作角色,选择具体的节点类型或节点名称。不同节点类型的重启注意事项请参见各节点类型重启说明

  5. 配置完成后,输入YES,单击“确定”启动重启任务。

    重启过程中集群暂时不可用。

  6. “集群状态”“处理中”变为“可用”,则表示集群重启完成。

滚动重启

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > OpenSearch”
  3. 在集群列表,选择目标集群,单击操作列的“更多 > 重启”
  4. 在“重启集群”页面配置参数。
    表4 配置滚动重启

    参数

    说明

    重启模式

    选择“滚动重启”

    当集群节点总数<3时,该选项不可见。

    操作角色

    默认为“节点类型”

    操作值

    选择要重启的节点类型。不同节点类型的重启注意事项请参见各节点类型重启说明

    • 全量重启:选择所有节点类型。
    • 按需重启:如果仅修改了冷数据节点配置,可只选择“冷数据节点”,系统将跳过其他节点,以缩短重启耗时。
  5. 配置完成后,输入YES,单击“确定”启动重启任务。
  6. “集群状态”“处理中”变为“可用”,则表示集群重启完成。

相关操作:管理分片分配策略

滚动重启由系统自动处理分片分配,通常无需手动干预此设置。此操作主要适用于快速重启中按节点类型或节点名称手动分批重启的场景。

节点重启会导致分片重分配,尤其是按节点类型或节点名称手动逐个重启(快速重启场景)时,建议提前关闭分片自动分配,重启完成后再手动恢复,避免节点下线后触发大量分片迁移,导致集群长时间不可用。

  1. 关闭分片自动重新分配。
    PUT /_cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "none"
      }
    }
  2. 全部目标节点重启完毕后,恢复分片自动分配策略。
    PUT /_cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "all"
      }
    }

常见问题

  • 问题1:滚动重启卡在“重启中”很久怎么办?

    滚动重启在重启完最后一个节点后,会等待集群状态恢复健康(Green/Yellow)。当索引数据量巨大或分片尚未恢复,任务会长时间处于等待状态。可以使用GET _cat/recovery?v查看分片恢复进度。

  • 问题2:只有2个节点的集群如何实现“类滚动重启”?

    由于2节点不满足滚动重启的节点数量要求,无法使用滚动重启。但可以通过手动分批操作实现“类滚动重启”:

    1. 确认索引副本数,如果想要业务不中断,则保证副本数大于等于1。
    2. 选择“快速重启”,按“节点名称”重启节点A。
    3. 待节点A恢复且集群状态为“可用”后,再重启节点B。

相关文档