Elasticsearch集群升配,增加节点数,角色,规格,磁盘配置。
接口说明
调用该接口时,请注意:
当实例状态为生效中(activating)、失效(invalid)和冻结(inactive)时,无法变更配置。
如果集群负载过高且索引没有副本,同时在升配或者降配过程中存在大量的写入或查询等情况,业务可能会出现偶发的访问超时现象。建议在集群变更前,在客户端访问机制中配置重试机制,以减小对业务的影响。
每次只能变更一种类型的节点(数据节点、专有主节点、冷数据节点、协调节点、Kibana 节点、弹性节点)的配置。
- 出于您的集群健康和稳定性的考虑,自 2021 年 5 月起,阿里云 Elasticsearch 已不支持购买 1 核 2 GB 规格、专有主节点的 2 核 2 GB 规格和 7.4 版本实例,如果您已确认已购规格不再支持售卖,那么您需要先完成以下操作:
对于 1 核 2 GB 和 2 核 2 GB 规格,建议提前升配至购买页开放的稳定的售卖规格。购买页开放的售卖规格请参见购买页面参数(商业版)或者购买页面参数(增强版)。
对于 7.4 版本,建议您重新选购 7.10 版本实例,然后再进行数据迁移。数据迁移请参见迁移方案选取指南。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
elasticsearch:UpdateInstance |
update |
*Instance
|
无 | 无 |
请求语法
PUT /openapi/instances/{InstanceId} HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| InstanceId |
string |
是 |
实例 ID。 |
es-cn-n6w1ptcb30009**** |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| clientToken |
string |
否 |
用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不超过 64 个 ASCII 字符。 |
5A2CFF0E-5718-45B5-9D4D-70B3FF**** |
| orderActionType |
string |
否 |
配置变更类型,可选值:
|
upgrade |
| body |
object |
否 |
请求体参数。 |
{ "nodeSpec": { "spec": "elasticsearch.r5.xlarge" } } |
| clientNodeConfiguration | ClientNodeConfiguration |
否 |
协调节点配置。 |
|
| elasticDataNodeConfiguration | ElasticDataNodeConfiguration |
否 |
弹性节点配置。 |
|
| indexNodeConfiguration |
IndexNodeConfiguration |
否 |
索引节点相关配置,仅 AI 引擎实例支持 |
|
| instanceCategory |
string |
否 |
版本类型。可选值:
说明
创建增强版开启 OpenStore 的实例需要同时开启 Indexing Service。 |
advanced |
| kibanaConfiguration | KibanaNodeConfiguration |
否 |
kibana 节点配置。 |
|
| masterConfiguration | MasterNodeConfiguration |
否 |
专有主节点配置。 |
|
| nodeAmount |
integer |
否 |
节点数量。 |
3 |
| nodeSpec | NodeSpec |
否 |
数据节点配置。 |
|
| searchNodeConfiguration |
SearchNodeConfiguration |
否 |
查询节点相关配置,仅 AI 引擎实例支持 |
|
| updateType |
string |
否 |
normal: 原地变更 blue_green: 蓝绿变更 |
blue_green |
| warmNodeConfiguration | WarmNodeConfiguration |
否 |
冷数据节点配置。 |
|
| force |
boolean |
否 |
是否强制重启:
|
false |
Elasticsearch 支持的节点规格列表,请参见产品规格。
请求体参数示例如下: 升配
升配时,不支持降低存储空间数值、存储类型配置、节点数量、规格的 CPU 核数或内存值。
-
升配存储空间 目前仅支持数据节点、冷数据节点和弹性数据节点升配存储空间。
将冷数据节点的存储空间升配至 1000 GiB。
{
"warmNodeConfiguration": {
"disk": 1000
}
}
-
升配存储类型 目前仅支持数据节点、弹性数据节点和专有主节点升配存储类型。
将专有主节点的存储类型升配为 ESSD 云盘类型。
{
"masterConfiguration": {
"diskType": "cloud_essd"
}
}
当专有主节点的存储类型为 ESSD 云盘类型时,将节点存储性能级别升配为 PL3。 指定 performanceLevel 后,diskType 会默认填充为cloud_essd。 指定cloud_essd后,performanceLevel 默认为 PL1。
```
{
"masterConfiguration": {
"performanceLevel": "PL3"
}
}
```
-
升配节点数量 目前仅支持数据节点、冷数据节点、弹性数据节点和协调节点升配节点数量。 数据节点升配节点数量的方式与其他节点不同,具体参见下文示例。
将数据节点的节点数量升至 12 个。
{
"nodeAmount": 12
}
将其他类型节点(以冷数据节点为例)的节点数量升至 12 个。
{
"warmNodeConfiguration": {
"amount": 12
}
}
升配节点规格 将数据节点的规格升至 4 核 32 GB。
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
}
}
-
同时升配同一节点的几种配置 同时升配同一节点的几种配置,需要您同时写入升配资源 RequestBody。
将协调节点的节点数量升至 8,规格升至 4 核 8 GB。
{
"clientNodeConfiguration": {
"amount": 8,
"spec": "elasticsearch.sn1ne.xlarge"
}
}
将数据节点的节点数量升至 12,存储类型升至 ESSD 云盘。
{
"nodeAmount": 12,
"nodeSpec": {
"diskType": "cloud_essd"
}
}
-
启用节点 您可以参见 createInstance 接口设置完整的节点资源配置。
启用协调节点,同时设置协调节点配置。
{
"clientNodeConfiguration": {
"amount": 5,
"disk": 20,
"spec": "elasticsearch.sn1ne.xlarge"
}
}
启用弹性数据节点,同时设置弹性数据节点配置(此配置只适用于中国站)。
{
"elasticNodeConfiguration": {
"disk": 200,
"amount": 5,
"diskType": "cloud_essd",
"spec": "elasticsearch.sn1ne.xlarge"
}
}
启用冷数据节点,同时设置冷数据节点配置。
{
"warmNodeConfiguration": {
"disk": 1000,
"amount": 3,
"spec": "elasticsearch.sn1ne.xlarge"
}
}
-
升配开启 OpenStore(此配置只适用于中国站) 已启用冷数据节点的实例以及数据节点存储类型为 ESSD 云盘的实例,目前不支持升配开启 OpenStore。 如果实例类型为普通商业版,升配开启 OpenStore 后,实例类型同时由普通商业版升配至开启 Indexing Service 的日志增强版。
冷数据节点打开 OpenStore。
{
"warmNodeConfiguration": {
"amount": 5,
"spec": "openstore.i2g.4xlarge"
}
}
数据节点规格转换为 OpenStore。
{
"nodeAmount": 6,
"nodeSpec": {
"spec": "openstore.i2g.4xlarge",
"diskType": "cloud_ssd",
"disk": 100
}
}
- 指定变更方式
变更方式默认为智能变更,将其指定为蓝绿变更(blue_green)或原地变更(normal)。
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
},
"updateType": "blue_green" ## 原地变更为 normal。
}
开启强制变更。
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
},
"force": true
}
使用 dryRun 接口进行升配预校验 在 RequestBody 中添加 dryRun 字段。
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
},
"dryRun": true
}
降配
降配时,不支持升级存储空间数值、存储类型、节点数量、规格的 CPU 核数或内存值。
UpdateInstance 接口无法降低节点数量,如有需求请使用 ShrinkNode 接口。
不支持降配节点存储空间大小,启用的节点不支持关闭。
不支持选择强制变更,不支持指定变更类型,默认使用智能变更。
降配时,orderActionType 参数需要设置为 Downgrade。
您可以同时降配多个资源配置,也可以进行 dryRun 预校验。
降配存储类型 降配时,不支持变更冷数据节点(不变更实例类型)、协调节点、Kibana 节点的存储类型。
将专有主节点的存储类型变更为 SSD 云盘。
{
"masterConfiguration": {
"diskType": "cloud_ssd"
}
}
降配规格 将数据节点的规格降配至 4 核 32 GB。
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
}
}
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| Code |
string |
错误码。仅当返回异常时显示。 |
InstanceNotFound |
| Message |
string |
错误信息。仅当返回异常时显示。 |
The specified cluster does not exist. Check the cluster status and try again. |
| RequestId |
string |
请求 ID。 |
5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1**** |
| Result |
object |
返回结果。 |
|
| createdAt |
string |
实例创建时间,采用 ISO 8601 格式,以 UTC 时间表示。 |
2018-07-13T03:58:07.253Z |
| description |
string |
实例名称。 |
test |
| domain |
string |
实例的私网访问域名。 |
es-cn-abc.elasticsearch.aliyuncs.com |
| esVersion |
string |
实例版本。 |
5.5.3_with_X-Pack |
| indexNodeConfiguration |
object |
仅 AI 引擎实例支持设置索引节点 |
|
| amount |
integer |
节点数 |
3 |
| disk |
integer |
磁盘大小 |
500 |
| diskType |
string |
磁盘类型如: cloud_essd |
cloud_essd |
| performanceLevel |
string |
磁盘性能级别如 PL0 |
PL0 |
| spec |
string |
节点规格 |
elasticsearch.turbo1.ci.xlarge |
| instanceId |
string |
实例 ID。 |
es-cn-abc |
| kibanaConfiguration |
object |
Kibana 节点配置。 |
|
| amount |
integer |
节点数量。 |
1 |
| disk |
integer |
节点存储空间大小。 |
20 |
| diskType |
string |
节点存储类型(可忽略该参数)。 |
cloud_ssd |
| spec |
string |
节点规格。 |
elasticsearch.n4.small |
| masterConfiguration |
object |
Master 节点配置。 |
|
| amount |
integer |
节点数量。 |
3 |
| disk |
integer |
节点的存储空间大小,单位:GB。 |
20 |
| diskType |
string |
节点的存储类型。只支持 cloud_ssd(SSD 云盘)。 |
cloud_ssd |
| spec |
string |
节点规格。 |
elasticsearch.sn2ne.large |
| nodeAmount |
integer |
数据节点的数量。 |
2 |
| nodeSpec |
object |
数据节点配置信息。 |
|
| disk |
integer |
节点存储空间大小,单位:GB。 |
40 |
| diskType |
string |
节点存储类型。支持:
|
cloud_ssd |
| spec |
string |
节点规格。 |
elasticsearch.sn2ne.xlarge |
| paymentType |
string |
实例的付费方式。支持:
|
postpaid |
| searchNodeConfiguration |
object |
仅 AI 引擎实例支持设置查询节点 |
|
| amount |
integer |
节点数 |
3 |
| disk |
integer |
磁盘大小 |
500 |
| diskType |
string |
磁盘类型 cloud_essd |
cloud_essd |
| performanceLevel |
string |
磁盘性能级别如 PL0 |
PL0 |
| spec |
string |
节点规格 |
elasticsearch.turbo1.ci.xlarge |
| status |
string |
实例的状态。支持:
|
active |
示例
正常返回示例
JSON格式
{
"Code": "InstanceNotFound",
"Message": "The specified cluster does not exist. Check the cluster status and try again.",
"RequestId": "5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1****",
"Result": {
"createdAt": "2018-07-13T03:58:07.253Z",
"description": "test",
"domain": "es-cn-abc.elasticsearch.aliyuncs.com",
"esVersion": "5.5.3_with_X-Pack",
"indexNodeConfiguration": {
"amount": 3,
"disk": 500,
"diskType": "cloud_essd",
"performanceLevel": "PL0",
"spec": "elasticsearch.turbo1.ci.xlarge"
},
"instanceId": "es-cn-abc",
"kibanaConfiguration": {
"amount": 1,
"disk": 20,
"diskType": "cloud_ssd",
"spec": "elasticsearch.n4.small"
},
"masterConfiguration": {
"amount": 3,
"disk": 20,
"diskType": "cloud_ssd",
"spec": "elasticsearch.sn2ne.large"
},
"nodeAmount": 2,
"nodeSpec": {
"disk": 40,
"diskType": "cloud_ssd",
"spec": "elasticsearch.sn2ne.xlarge"
},
"paymentType": "postpaid",
"searchNodeConfiguration": {
"amount": 3,
"disk": 500,
"diskType": "cloud_essd",
"performanceLevel": "PL0",
"spec": "elasticsearch.turbo1.ci.xlarge"
},
"status": "active"
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。