全部產品
Search
文件中心

Elasticsearch:遷移ES節點的可用性區域

更新時間:Nov 19, 2024

在Elasticsearch(簡稱ES)叢集升配的過程中,遇到可用性區域規格庫存不足的情況時,您可以將該可用性區域下的節點遷移到其他資源充足的可用性區域,然後在新的可用性區域進行叢集升配。本文介紹如何遷移節點的可用性區域。

背景資訊

  • 可用性區域:物理機房和可用性區域基本可以理解為一對一的關係,個別情況是一對多的關係,例如AM5機房包含了cn-hangzhou-d和cn-hangzhou-finance-d兩個可用性區域,從ES管控角度來講裁撤機房即裁撤可用性區域。

  • 遷移可用性區域:ES產品提供了標準化的產品能力來實現可用性區域的叢集遷移,阿里雲ES提供的叢集遷移產品功能基於藍綠能力,可以實現平滑變更,過程全無損。

前提條件

  • 確保叢集處於健康狀態。

    可通過GET _cat/health?v命令查看叢集健康狀態。

  • 在Kibana控制台執行以下命令,檢查叢集中是否存在狀態為close的索引。如果存在,需要將對應索引的狀態暫時設定為open,否則變更不成功。

    • 查看索引狀態

      GET /_cat/indices?v

      查看索引狀態

    • 將close狀態的索引暫時設定為open狀態

      POST /<index_name>/_open

      <index_name>需要替換為狀態為close的索引名稱。

  • 確保當前帳號下存在資源充足的可用性區域。

    建議優先選擇字母順序靠後的新可用性區域(例如對於cn-hangzhou-ecn-hangzhou-h可用性區域,優先選擇cn-hangzhou-h),這類可用性區域資源一般較充足。因為可用性區域遷移功能在遷移當前規格節點到其他可用性區域後,需手動升配叢集,並不會在遷移過程中升配叢集。

注意事項

  • 一次僅支援遷移單個可用性區域,如果需要遷移多個可用性區域,需要分批次做遷移。

  • 可用性區域遷移會觸發叢集滾動重啟,遷移時間長度與叢集規模、資料量及負載情況等相關,建議在業務低峰期做遷移。

  • 如果叢集索引存在副本分區且叢集負載處於正常水平(CPU使用率在60%左右,堆記憶體使用量率在50%左右,load_1m低於CPU核心數),一般情況下,可用性區域遷移過程中,叢集可持續對外提供服務。

  • 如果叢集負載過高且索引沒有副本,同時業務中存在大量的寫入或查詢等情境,在可用性區域遷移過程中,業務可能會出現偶發的訪問逾時現象。建議在可用性區域遷移前,在用戶端訪問機制中配置重試機制,以減小對業務的影響。

操作步驟

  1. 登入Elasticsearch控制台
  2. 在左側導覽列,單擊Elasticsearch執行個體
  3. 進入目標執行個體。
    1. 在頂部功能表列處,選擇資源群組和地區。
    2. Elasticsearch執行個體中單擊目標執行個體ID。
  4. 在執行個體的基本資料頁面下方的節點可視化地區,將滑鼠移動到需要遷移的可用性區域上,單擊遷移

    image

  5. 可用性區域節點遷移對話方塊中,選擇目標可用性區域虛擬交換器

    參數

    說明

    目標可用性區域

    選擇節點需要遷移到的新的可用性區域。

    • 選擇的目標可用性區域可能沒有庫存或顯示暫不支援該可用性區域,換一個可用性區域即可。

    • 為儘可能實現節點部署的高可用性,不能選擇已經部署了該ES叢集節點的其他可用性區域。

    虛擬交換器

    對於單可用性區域的ES執行個體,需要選擇新的虛擬交換器進行可用性區域遷移,一般選擇預設提供的交換器。

    說明

    雙可用性區域、三可用性區域執行個體或金融雲執行個體,無須指定新的虛擬交換器

    重要

    遷移可用性區域會觸發叢集重啟,重啟過程中叢集可持續提供服務,但可能會導致服務不穩定,建議在業務低峰期操作。

  6. 選中資料移轉服務合約,單擊確認

    確認後,叢集會重啟。重啟成功後,即可完成遷移任務。

    重要
    • 可用性區域遷移過程中,需要先在新的目標可用性區域購買新的master節點,會臨時出現2個可用性區域共存的現象。

    • 遷移成功後,ES叢集節點將遷移到新可用性區域下。但控制台基本資料和升降配頁面可能會因為資訊更新不及時依舊顯示舊可用性區域,此顯示不影響在新可用性區域下使用ES叢集。您可在控制台的節點可視化地區,查看叢集節點所在的真實可用性區域。

    • 遷移後叢集中的節點IP地址會發生變化。如果您在叢集配置中指定了節點的IP地址,需要在遷移後更新。