調用UpdateInstance,變更集群配置。
調用該接口時,請注意:
- 當實例狀態為生效中(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代碼示例。
請求頭
該接口使用公共請求頭,無特殊請求頭。請參見公共請求參數文檔。
請求語法
PUT /openapi/instances/{InstanceId} HTTP/1.1
請求參數
名稱 | 類型 | 位置 | 是否必選 | 示例值 | 描述 |
---|---|---|---|---|---|
InstanceId | String | Path | 是 | es-cn-n6w1ptcb30009**** |
實例ID。 |
clientToken | String | Query | 否 | 5A2CFF0E-5718-45B5-9D4D-70B3FF**** |
用于保證請求的冪等性。由客戶端生成該參數值,要保證在不同請求間唯一,最大不超過64個ASCII字符。 |
orderActionType | String | Query | 否 | upgrade |
配置變更類型,可選值:
|
Object | Body | 否 |
請求體參數。 |
||
nodeAmount | Integer | Body | 否 | 3 |
節點數量。 |
nodeSpec | NodeSpec | Body | 否 |
數據節點配置。 |
|
masterConfiguration | MasterNodeConfiguration | Body | 否 |
專有主節點配置。 |
|
clientNodeConfiguration | ClientNodeConfiguration | Body | 否 |
協調節點配置。 |
|
warmNodeConfiguration | WarmNodeConfiguration | Body | 否 |
冷數據節點配置。 |
|
kibanaConfiguration | KibanaNodeConfiguration | Body | 否 |
kibana節點配置。 |
|
elasticDataNodeConfiguration | ElasticDataNodeConfiguration | Body | 否 |
彈性節點配置。 |
|
instanceCategory | String | Body | 否 | advanced |
版本類型。可選值:
|
force | Boolean | Query | 否 | false |
是否強制重啟:
|
Elasticsearch支持的節點規格列表,請參見阿里云Elasticsearch定價信息、產品規格。
請求體參數示例如下:
升配-
升配存儲空間
目前僅支持數據節點、冷數據節點和彈性數據節點升配存儲空間。
將冷數據節點的存儲空間升配至1000 GiB。{ "warmNodeConfiguration": { "disk": 1000 } }
-
升配存儲類型
目前僅支持數據節點、彈性數據節點和專有主節點升配存儲類型。
- 將專有主節點的存儲類型升配為ESSD云盤類型。
{ "masterConfiguration": { "diskType": "cloud_essd" } }
-
當專有主節點的存儲類型為ESSD云盤類型時,將節點存儲性能級別升配為PL3。
指定performanceLevel后,diskType會默認填充為cloud_essd。
指定cloud_essd后,performanceLevel默認為PL1。{ "masterConfiguration": { "performanceLevel": "PL3" } }
- 將專有主節點的存儲類型升配為ESSD云盤類型。
-
升配節點數量
目前僅支持數據節點、冷數據節點、彈性數據節點和協調節點升配節點數量。
數據節點升配節點數量的方式與其他節點不同,具體參見下文示例。
- 將數據節點的節點數量升至12個。
{ "nodeAmount": 12 }
- 將其他類型節點(以冷數據節點為例)的節點數量升至12個。
{ "warmNodeConfiguration": { "amount": 12 } }
- 將數據節點的節點數量升至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" } }
- 將協調節點的節點數量升至8,規格升至4核8 GB。
-
啟用節點
您可以參見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 } }
- 冷數據節點打開OpenStore。
- 指定變更方式
- 變更方式默認為智能變更,將其指定為藍綠變更(blue_green)或原地變更(normal)。
{ "nodeSpec": { "spec": "elasticsearch.r5.xlarge" }, "updateType": "blue_green" ## 原地變更為normal。 }
- 開啟強制變更。
{ "nodeSpec": { "spec": "elasticsearch.r5.xlarge" }, "force": true }
- 變更方式默認為智能變更,將其指定為藍綠變更(blue_green)或原地變更(normal)。
-
使用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" } }
返回數據
名稱 | 類型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1**** |
請求ID。 |
Result | Object |
返回結果。 |
|
nodeAmount | Integer | 2 |
數據節點的數量。 |
createdAt | String | 2018-07-13T03:58:07.253Z |
實例創建時間。 |
status | String | active |
實例的狀態。支持:
|
paymentType | String | postpaid |
實例的付費方式。支持:
|
domain | String | es-cn-abc.elasticsearch.aliyuncs.com |
實例的私網訪問域名。 |
description | String | test |
實例名稱。 |
esVersion | String | 5.5.3_with_X-Pack |
實例版本。 |
instanceId | String | es-cn-abc |
實例ID。 |
nodeSpec | Object |
數據節點配置信息。 |
|
spec | String | elasticsearch.sn2ne.xlarge |
節點規格。 |
disk | Integer | 40 |
節點存儲空間大小,單位:GB。 |
diskType | String | cloud_ssd |
節點存儲類型。支持:
|
kibanaConfiguration | Object |
Kibana節點配置。 |
|
spec | String | elasticsearch.n4.small |
節點規格。 |
amount | Integer | 1 |
節點數量。 |
disk | Integer | 20 |
節點存儲空間大小。 |
diskType | String | cloud_ssd |
節點存儲類型(可忽略該參數)。 |
masterConfiguration | Object |
Master節點配置。 |
|
spec | String | elasticsearch.sn2ne.large |
節點規格。 |
amount | Integer | 3 |
節點數量。 |
disk | Integer | 20 |
節點的存儲空間大小,單位:GB。 |
diskType | String | cloud_ssd |
節點的存儲類型。只支持cloud_ssd(SSD云盤)。 |
示例
請求示例
PUT /openapi/instances/es-cn-n6w1ptcb30009****?clientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF****&orderActionType=upgrade HTTP/1.1
Host:elasticsearch.aliyuncs.com
Content-Type:application/json
{
"nodeSpec": {
"spec": "elasticsearch.r5.xlarge"
}
}
正常返回示例
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Result" : {
"instanceId" : "es-cn-n6w1ptcb30009****",
"version" : "5.5.3_with_X-Pack",
"nodeAmount" : 3,
"paymentType" : "postpaid",
"status" : "active",
"nodeSpec" : {
"spec" : "elasticsearch.n4.small",
"disk" : 40,
"diskType" : "cloud_ssd",
"diskEncryption" : false
},
"createdAt" : "2020-06-28T08:25:52.895Z",
"zoneCount" : 1,
"instanceCategory" : "x-pack",
"kibanaConfiguration" : {
"spec" : "elasticsearch.n4.small",
"amount" : 1,
"disk" : 0
}
},
"RequestId" : "B5246080-9C30-4B6A-8F8A-8C705405****"
}
返回示例補充說明
> 返回示例中,本文只保證包含返回數據列表中的參數,而未提到的參數僅供參考,程序中不能強制依賴獲取這些參數。
錯誤碼
訪問錯誤中心查看更多錯誤碼。