文档首页/ 云搜索服务 CSS/ 故障排除/ 集群不可用/ 集群升级/规格变更时节点过载
更新时间:2026-01-09 GMT+08:00
分享

集群升级/规格变更时节点过载

问题描述

在进行集群版本升级或规格变更操作(例如,滚动升级、调整实例规格)的过程中,如果并发恢复参数设置不当,可能导致集群内部分或全部节点负载急剧升高。典型现象:

  • 节点负载异常:在集群版本升级或规格变更过程中,节点CPU、JVM内存使用率急剧升高。
  • 节点脱离:部分节点因资源耗尽导致脱离集群,集群状态变为red。
  • 任务中断:升级/规格变更任务执行时间显著增加,部分任务超时失败。
  • 资源瓶颈:监控显示CPU使用率超过90%,JVM内存持续增长。

问题原因

  • 参数设置不合理:参数indices.recovery.max_bytes_per_sec设置过高,导致数据迁移速度过快,引发CPU和内存资源竞争,造成节点过载。
  • 任务堆积:版本升级或规格变更时,系统自动触发的分片迁移和副本分配任务会因并发参数不当而堆积,进一步加剧资源消耗。
  • 资源不足:节点规格不足、磁盘IO或网络带宽受限时,无法支撑高并发参数下的操作,导致任务执行效率显著下降。

解决方法

  1. 调整并发参数以减少节点间的通信负载,提高集群稳定性。

    降低数据迁移速度以减少节点负载,确保集群稳定运行。降低迁移速度会延长任务执行时间。

    PUT _cluster/settings
    {
      "transient": {
        "indices.recovery.max_bytes_per_sec": "40mb",
        "cluster.routing.allocation.node_concurrent_outgoing_recoveries": 2,
        "cluster.routing.allocation.cluster_concurrent_rebalance": 2,
        "cluster.routing.allocation.node_initial_primaries_recoveries": 2
      }
    }

    等待5~10分钟,查看监控指标(如CPU、JVM内存使用率)确认负载是否下降。

    • 是,检查集群状态是否恢复正常,确保所有节点均处于健康状态,故障修复成功。
    • 否,可以进一步降低indices.recovery.max_bytes_per_sec,如果调整后负载仍然过高,或任务已超时失败,则继续执行下一步。
  2. 终止任务。如果是升级任务,可以在控制台的升级版本页面终止升级任务,但是需确认所有节点均未成功升级,方可终止升级任务。如果无法终止任务可以联系技术支持。
  3. 扩容集群节点数量或升级集群节点规格,确保新资源能够满足业务要求。

    扩容完成后,建议等待10~15分钟,确认新节点已接入业务。

  4. 扩容成功后,重新执行升级/规格变更任务,确认任务是否成功。
    • 是,则故障恢复。
    • 否,则联系技术支持处理。

相关文档