當您的業務存在高低峰期或其他變化,導致叢集節點規格高於業務所需規格時,可通過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。
請結合規格容量評估和使用限制,確保降配後叢集有足夠的儲存空間。如果降配後叢集負載較高,建議及時升配,具體操作請參見升配叢集。