更新时间:2026-01-12 GMT+08:00

指定节点类型规格变更

功能介绍

当集群的数据面业务变化,需要动态调整集群的节点规格和节点存储类型时可以调用此接口进行变更操作。

  • 支持变更节点规格的集群类型:Elasticsearch、OpenSearch和Logstash。

  • 支持变更节点存储类型(磁盘类型)的集群类型:Elasticsearch和OpenSearch。在变更节点存储类型(磁盘类型)前,建议备份所有关键数据,以免造成数据丢失。

调用接口时可以指定以下节点类型:

  • ess:数据节点(仅Elasticsearch和OpenSearch涉及)。

  • ess-cold:冷数据节点(仅Elasticsearch和OpenSearch涉及)。

  • ess-client:Client节点(仅Elasticsearch和OpenSearch涉及)。

  • ess-master:Master节点(仅Elasticsearch和OpenSearch涉及)。

  • lgs:Logstash节点(仅Logstash涉及)。

接口约束

  • 确认需要更改的集群处于“可用”状态,且无正在进行的任务。

  • 使用本地盘的节点不支持变更节点规格和节点存储类型。

  • 不支持同时变更节点规格和节点存储类型。

  • 仅数据节点和冷数据节点支持变更节点存储类型。

  • 变更节点存储类型的过程涉及数据迁移,单个节点的数据迁移的超时阈值为48小时,超时将导致变更失败。当集群数据量大时,建议手动调整数据迁移速率,避免在业务高峰期操作。

  • 无Master节点的集群:当数据节点数和冷数据节点数之和大于或等于3时(即“ 数据节点数 + 冷数据节点数 ≥ 3”)才支持变更节点存储类型。

  • 有Master节点的集群:当数据节点数大于或等于2时(即“ 数据节点数 ≥ 2”)才支持变更节点存储类型。

  • 变更节点存储类型时,会有一个节点无法提供服务,为保证业务连续性,请确认每个可用区中同类型节点数大于或等于2,数据节点数和冷数据节点数之和大于索引副本数的最大值加1,即“数据节点数 + 冷数据节点数 > 索引副本数的最大值+1”。

  • 变更节点规格会直接下线节点,为保证业务连续性请确保所有索引都有副本。

  • 请确认下线一个节点之后的磁盘使用率小于80%。

调用方法

请参见如何调用API

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/{types}/flavor

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

项目ID。获取方法请参见获取项目ID和名称

约束限制

不涉及

取值范围

账户的项目ID。

默认取值

不涉及

cluster_id

String

参数解释

指定更改规格的集群ID。获取方法请参见获取集群ID

约束限制

不涉及

取值范围

集群ID。

默认取值

不涉及

types

String

参数解释

指定更改的集群节点类型。

约束限制

不涉及

取值范围

  • ess:数据节点。

  • ess-cold:冷数据节点。

  • ess-client:Client节点。

  • ess-master:Master节点。

  • lgs:LogStash节点。

默认取值

不涉及

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

new_flavor_id

String

参数解释

变更后的节点规格ID或者节点存储类型(磁盘类型),由参数operation_type决定。

约束限制

取值范围和参数operation_type相关联。

取值范围

1、当operationType为vm时,newFlavorId为变更后的节点规格ID。 该参数通过获取实例规格列表接口获取,根据name属性所需要的规格,选择对应的flavor_id。

2、operation_type为volume时,new_flavor_id为节点存储类型(磁盘类型),支持如下类型:

  • COMMON:普通I/O

  • HIGH:高I/O

  • ULTRAHIGH:超高I/O

  • ESSD:极速SSD

默认取值

不涉及

operation_type

String

参数解释

操作类型。

约束限制

不涉及

取值范围

  • vm: 修改节点规格。

  • volume: 修改磁盘规格。

默认取值

vm

need_check_replica

Boolean

参数解释

是否需要校验副本。

约束限制

不涉及

取值范围

  • true: 开启副本校验。

  • false: 忽略副本校验。

默认取值

true

need_check_cluster_status

Boolean

参数解释

是否需要检查集群状态,取值范围为true或false。默认开启校验。

约束限制

不涉及

取值范围

  • true: 开启集群状态校验。

  • false: 忽略集群状态校验。

默认取值

true

cluster_load_check

Boolean

参数解释

是否需要检查集群负载,取值范围为true或false。默认开启校验。

约束限制

不涉及

取值范围

  • true: 开启集群负载校验。

  • false: 忽略集群负载校验。

默认取值

true

响应参数

状态码:200

请求已成功。

请求示例

POST https://{Endpoint}/v1.0/{project_id}/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/ess/flavor

{
  "need_check_replica" : false,
  "new_flavor_id" : "HIGH",
 
  "need_check_cluster_status" : true,
  "operation_type" : "volume",
  "cluster_load_check" : true
}

响应示例

状态码

状态码

描述

200

请求已成功。

400

非法请求。

建议直接修改该请求,不要重试该请求。

409

服务器在完成请求时发生冲突。

返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。

412

未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。

错误码

请参见错误码