重启集群
在面临配置变更、故障恢复等场景时,为避免因不当重启引发服务中断或大规模分片重分配导致的集群不可用风险,CSS服务的OpenSearch集群提供了两种重启机制:滚动重启和快速重启。
重启模式对比
| 重启模式 | 快速重启 | 滚动重启 |
|---|---|---|
| 业务影响 | 业务中断,影响高。 集群将完全停止服务,期间无法进行读写操作。 | 业务不中断,影响低。 仅重启中的节点暂时不可用,集群整体持续提供服务。 |
| 原理 | 并行操作。一次性关闭并重启选定的所有节点。 | 串行操作:重启A节点 > 等待恢复 > 重启B节点 > 等待恢复... |
| 数据安全性 | 数据安全性中,如果强制重启未停止写入的集群,存在数据丢失风险。 | 数据安全性高,系统会自动处理分片分配,避免数据丢失。 |
| 耗时 | 所有节点并发重启,通常耗时短一些。 | 需等待每个节点重启并恢复健康后,才进行下一个节点重启,耗时长一些。 |
| 适用场景 | 适用于开发或测试环境、集群已完全死锁、或者业务允许停机的场景。 | 适用于生产环境、对可用性要求高的业务、数据量大的集群。 |
| 节点数量限制 | 无节点数量限制。 | 节点总数大于或等于3。 |
约束限制
不支持重启的集群:“任务状态”为“冻结”或存在其他正在进行中的任务。
操作前检查
- 检查集群健康状态:确认“任务状态”不存在其他正在进行中的任务。
- 建议暂停高并发的数据导入任务,避免重启期间因主分片切换导致写入失败。
- 建议在业务低峰期操作,减少集群负载波动,影响数据完整性或服务可用性。
- 执行滚动重启前,建议检查索引副本数,确认关键索引的副本数≥1。如果没有副本,重启该节点上的主分片时,数据将暂时不可访问。
快速重启
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,选择目标集群,单击操作列的“更多 > 重启”。
- 在“重启集群”页面配置参数。
表2 配置快速重启 参数
说明
重启模式
选择“快速重启”。
操作角色
选择按“节点类型”重启还是“节点名称”重启。
- 节点类型:选择某一节点类型或多种节点类型同时重启。适用于需重启某类特定节点(如仅重启所有Client节点释放连接数)。
- 节点名称:一次只能选择重启一个节点。适用于精确定位故障节点,仅重启某一个具体的异常节点。
操作值
基于选择的操作角色,选择具体的节点类型或节点名称。
- 配置完成后,输入YES,单击“确定”启动重启任务。
重启过程中集群暂时不可用。
- 当“集群状态”由“处理中”变为“可用”,则表示集群重启完成。
滚动重启
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,选择目标集群,单击操作列的“更多 > 重启”。
- 在“重启集群”页面配置参数。
表3 配置滚动重启 参数
说明
重启模式
选择“滚动重启”。
当集群节点总数<3时,该选项不可见。
操作角色
默认为“节点类型”。
操作值
选择要重启的节点类型。
- 全量重启:选择所有节点类型。
- 按需重启:如果仅修改了冷数据节点配置,可只选择“冷数据节点”,系统将跳过其他节点,以缩短重启耗时。
- 配置完成后,输入YES,单击“确定”启动重启任务。
- 当“集群状态”由“处理中”变为“可用”,则表示集群重启完成。
常见问题
- 问题1:滚动重启卡在“重启中”很久怎么办?
滚动重启在重启完最后一个节点后,会等待集群状态恢复健康(Green/Yellow)。当索引数据量巨大或分片尚未恢复,任务会长时间处于等待状态。可以使用GET _cat/recovery?v查看分片恢复进度。
- 问题2:只有2个节点的集群如何实现“类滚动重启”?
由于2节点不满足滚动重启的节点数量要求,无法使用滚动重启。但可以通过手动分批操作实现“类滚动重启”:
- 确认索引副本数,如果想要业务不中断,则保证副本数大于等于1。
- 选择“快速重启”,按“节点名称”重启节点A。
- 待节点A恢复且集群状态为“可用”后,再重启节点B。