當您的業務存在高低峰期或其他變化,導致集群節點規格高于業務所需規格時,可通過阿里云Elasticsearch(簡稱ES)的集群降配功能,降低節點規格配置、變更節點磁盤類型等,以便更好地保障業務發展并控制成本。
前提條件
確保集群為正常(綠色)狀態。
在Kibana控制臺執行以下命令,檢查集群中是否存在狀態為close的索引。如果存在,需要將對應索引的狀態暫時設置為open,否則變更不成功。
查看索引狀態
GET /_cat/indices?v
將close狀態的索引暫時設置為open狀態
POST /<index_name>/_open
<index_name>需要替換為狀態為close的索引名稱。
登錄Kibana控制臺,執行以下命令,查看索引副本數,副本數需要至少為1。
說明對于多可用區實例,在變更時需要確保集群中任意一個索引的副本數都小于可用區數,建議副本數設置為1,待變更完成后,您可以根據業務需求手動增加副本數,詳情請參見索引模板。
如果集群負載高且索引沒有副本,同時在降配過程中存在大量的寫入或查詢等情況,業務可能會出現偶發的訪問超時現象,無法保證高可用機制,業務穩定性無法保證。
GET _cat/indices?v
使用限制
不支持彈性數據節點降配。
集群需滿足以下條件才可降配:
操作時間間隔
對于同一集群,兩次降配操作時間間隔不得少于30分鐘。
集群負載
針對不同角色的節點,為了保證降配中集群的穩定性,負載必須滿足以下條件才可觸發降配。
節點類型
CPU使用率
JVM堆內存使用率
專有主節點
近1天單節點CPU使用率最大值 < 30%
近1天單節點JVM堆內存使用率最大值 < 25%
其他角色節點
同時滿足以下條件:
近1天單節點CPU使用率最大值 < 50%
近1天所有節點CPU使用率平均值 < 30%
同時滿足以下條件:
近1天單節點JVM堆內存使用率最大值 < 50%
近1天所有節點JVM堆內存使用率平均值 < 30%
規格
降配所選的目標規格的CPU和內存均需大于或等于當前規格的1/2,且不支持將節點規格降配至1核2 GiB、2核2 GiB、2核4 GiB和4核4 GiB。
說明kibana節點僅不支持降配至1核2 GiB。
如果您需要降配至2核4 GiB或4核4 GiB,請新建一個2核4 GiB或4核4 GiB的實例,然后通過數據遷移的方式(例如通過Logstash)將數據遷移到新實例中。
云盤類型降配
支持存儲性能較高的云盤降配到存儲性能較低的云盤,云盤存儲性能由高到低依次為:ESSD云盤、SSD云盤、高效云盤,您可以根據需求進行降配。云盤更多詳細信息請參見云盤概述。
說明系統不支持將ESSD-PL0降配到SSD。
僅ES 7.16、8.5和8.9等高版本,支持數據節點存儲空間降配。從集群穩定性角度出發,變更期間磁盤使用率需保持在相對安全的水位以下,所以降配后的磁盤空間水位不能超過60%,即
當前磁盤空間使用量/降配后的磁盤空間 < 60%
。
注意事項
如果集群索引存在副本分片且集群負載處于正常水平(CPU使用率在60%左右,堆內存使用率在50%左右,load_1m低于CPU核數),一般情況下,在集群變更過程中可持續對外提供服務。
降配集群會觸發集群重啟,重啟時間與集群規格、數據結構和大小等因素有關,建議在業務低峰期操作。一般情況下,重啟耗時較長,在小時級別。詳細信息,請參見重啟實例或節點。
降配過程中不會出現數據丟失的現象,但如果集群負載高或狀態異常,訪問可能出現偶發的超時抖動,建議您業務上做好重試機制并加副本數。
操作步驟
- 登錄阿里云Elasticsearch控制臺。
在頂部菜單欄,選擇資源組和地域。再在左側導航欄,單擊Elasticsearch實例。
在實例列表中,選擇目標實例右側操作列下的 。
選擇待降配的節點類型,單擊修改。
在展開的節點配置中,修改節點的規格或存儲類型。
重要系統只展示可變更的規格。
每次只能變更一種節點類型的配置,同時支持同一類型節點的多種變更。例如支持變更數據節點規格的同時,變更其存儲類型。
變更節點數后,集群不會自動重新規劃分片,可能導致數據在分片上的分配不均勻。分片分配不均的排查方法和解決方案請參見集群負載不均問題的分析方法及解決方案。
查看并選中服務協議和風險提示,單擊立即購買。
購買后,集群會重啟,重啟成功后即可完成集群降配。
常見問題
相關文檔
降配集群的API,請參見UpdateInstance。
請結合規格容量評估和使用限制,確保降配后集群有足夠的存儲空間。如果降配后集群負載較高,建議及時升配,具體操作請參見升配集群。