全部產品
Search
文件中心

Elasticsearch:降配叢集

更新時間:Nov 26, 2025

若您的業務存在流量波動(如高低峰期),導致叢集資源使用率長期偏低,通過降配操作可縮減節點規格、數量或調整儲存類型等實現資源與業務需求匹配,有效最佳化成本。

降配須知

重要

降配操作可能引發服務延遲、配置衝突及費用變更,請務必提前完整閱讀以下須知內容。

  • 服務穩定性

    • 叢集變更期間服務穩定性規則:

      叢集

      服務狀態

      應對措施

      高負載+無副本

      高負載:降配時高並發寫入或者查詢,CPU>60%、堆記憶體>50%

      偶發訪問逾時

      • 用戶端啟用重試機制

      • 降配前增加索引複本數(至少為1)

      降配後資料節點數≤2個

      可能造成資料丟失

    • 操作視窗:業務低峰期進行。

  • 配置約束

    • 僅v3部署架構下的叢集支援降配資料節點儲存空間。

    • 不支援在降配叢集時升級版本。

    • 一次降配操作僅支援變更一種類型的節點。

    • 不支援降配彈性資料節點。

    • 同一叢集連續兩次降配操作需間隔≥30分鐘。

  • 降配後CPU規格約束

    • 基礎規則:目標規格CPU和記憶體 ≥ 當前規格的一半。

    • 禁止降配至:1核2GiB2核2GiB2核4GiB4核4GiB(Kibana節點可降配至2核2GiB

      特殊規格處理:需降配至禁用規格時,需建立叢集後進行資料移轉。

  • 成本影響

    提交降配訂單後,系統將按照更新後的配置單計費。計費規則請參見隨用隨付訂用帳戶

降配前檢查

重要

未完成以下檢查直接降配可能導致叢集崩潰、資料丟失或服務不可用,請逐項檢查驗證。

  • 叢集健康

    執行GET _cluster/health 確保叢集為狀態為GREEN。

  • 負載安全

    叢集滿足以下條件,可支援降低配置:

    節點類型

    CPU使用率

    JVM堆記憶體使用量率

    專有主節點

    近1天單節點峰值 < 30%

    近1天單節點峰值 < 25%

    其他角色節點

    同時滿足:

    • 近1天單節點峰值 < 50%

    • 近1天所有節點均值 < 30%

    同時滿足:

    • 近1天單節點峰值 < 50%

    • 近1天所有節點均值 < 30%

  • 索引就緒

    • 執行GET /_cat/indices?v檢查是否存在狀態為CLOSE的索引。如果存在,需執行POST /<index_name>/_open臨時開啟這些索引,否則配置變更可能失敗,原因說明:

      • 存在CLOSE狀態的索引時,叢集狀態無法達到GREEN。ES在執行某些敏感配置變更(如分區分配規則調整)前會強制要求叢集狀態為GREEN。

      • 變更配置過程中叢集會重新分配分區:

        • 關閉索引的分區無法參與重分配。

        • 導致依賴GREEN狀態的操作失敗。

        • 導致叢集狀態無法達到GREEN(最高只能達到YELLOW)。

    • 執行GET _cat/indices?v檢查索引複本數是否至少為1。

      對於多可用性區域執行個體,在變更時需確保叢集中任意一個索引的副本數小於可用性區域數,建議副本數設定為1,變更完成後,手動增加副本數。

方式一:通過控制台降配

降配規格、磁碟類型和空間

  1. 執行個體列表,單擊降配

    image

    更多操作入口:在基本資料頁面,單擊配置變更 > 叢集降配

  2. 降配頁面,根據業務需要調整配置項參數。

    重要

    可調整的配置項參數因叢集類型和版本不同而有所出入,以降配頁面為準。

    • 支援節點規格(節點儲存類型)降配,按效能從高到低排序:

      1. 本地碟:本地SSD盤型(NVMe SSD本地碟)->本地SATA盤型(SATA HDD本地碟) 。

        說明

        本地碟是ECS執行個體所在物理機上的本地硬碟裝置,為ECS執行個體提供本機存放區訪問能力,適用於對儲存I/O效能、海量儲存性價比有極高要求的業務情境。

      2. ESSD雲端硬碟:ESSD(Enterprise SSD)雲端硬碟結合25 GE網路和RDMA技術,為您提供單盤高達100萬的隨機讀寫能力和單路低時延效能。

        說明

        ESSD-PL0不可降為SSD雲端硬碟。

      3. 上一代雲端硬碟:SSD雲端硬碟->高效雲端硬碟-> 雲端硬碟(普通雲端硬碟)。

        說明

        已在部分地區及可用性區域逐步停止售賣,您在選擇雲端硬碟時,建議選用ESSD雲端硬碟。

    • 資料節點儲存空間降配(僅限v3管控部署模式下的叢集):為確保叢集穩定性,降配後磁碟空間使用率應低於60%,即降配前需確保:當前磁碟使用量 < 降配後磁碟空間 × 0.6。

      image

      v2管控部署模式下的叢集不支援通過控制台或者API降配儲存空間,如需降配請聯絡支援人員。
    • 智能變更(預設開啟):系統根據變更配置項自動選擇最優變更方式。

    • 強制變更(預設關閉,不建議開啟):此選項會跳過健全狀態檢查並觸發強制重啟叢集,可能導致服務長時間中斷(恢復取決於資料量)。

  3. 單擊查看產品服務合約服務等級協議,無異議後,單擊立即購買,系統根據變更配置項自動選擇最優變更策略,同時按照付費方式收取費用。

    變更期間,叢集狀態變為生效中,叢集效能可能出現短暫波動,可能出現請求閃斷;變更完成後,叢集狀態更新為正常,叢集內節點IP會發生變化。

縮容資料節點

  1. 在執行個體基本資料頁面,單擊配置變更 > 叢集數據節點縮容

    image

  2. 根據業務需要選擇節點類型以及需要減少的節點個數。

    重要
    • 阿里雲ES在縮容前將自動執行節點安全校正,若校正失敗,請根據報錯提示排除錯誤後重試縮容。

    • 可調整的配置項參數因叢集類型和版本不同而有所出入,以控制台頁面為準,本樣本為向量增強版8.17.0版。

    image

  3. 單擊 確定,系統執行縮容操作,同時根據叢集配置以及付費方式計量費用。

    變更期間,叢集狀態變為生效中,叢集效能可能出現短暫波動,可能出現請求閃斷;變更完成後,叢集狀態更新為正常,叢集內節點IP會發生變化。

方式二:調用API降配

叢集降配API文檔:UpdateInstance

資料移轉和復原

為保證資料的安全,進行縮容的資料節點中不應該存在資料。如果所選資料節點中有資料,系統會提示您進行資料移轉。遷移後所選節點上不再有任何索引資料,新的索引資料也不會被寫入該節點。

資料移轉

  1. 縮容配置地區,單擊提示欄中的資料移轉協助工具輔助

    資料移轉協助工具輔助

    資料移轉協助工具輔助通過Elasticsearch分區過濾器實現資料平滑遷移,資料移轉過程業務無感知。

  2. 叢集數據節點遷移對話方塊,選擇節點遷移方式。

    image

    參數

    說明

    系統建議

    通過系統建議自動選擇需要遷移的資料節點。

    自訂

    手動選擇需要遷移的資料節點。

  3. 選中資料移轉協議,單擊確認

資料復原

資料移轉是一個周期很長的過程,在此期間叢集狀態和資料的變更可能會導致遷移失敗,具體可在工作清單中查看。當資料移轉失敗或者遷移完成後,可通過以下步驟對遷移節點進行復原:

  1. 登入目標Elasticsearch執行個體的Kibana控制台,根據頁面提示進入Kibana首頁。

    登入Kibana控制台的具體操作,請參見登入Kibana控制台

    說明

    本文以Elasticsearch 6.7.0版本為例,其他版本操作可能略有差別,請以實際介面為準。

  2. 在左側導覽列,單擊Dev Tools

  3. Console中執行以下命令,擷取遷移節點的IP地址。

    GET _cluster/settings

    執行成功後,返回如下結果。

    {
      "transient": {
        "cluster": {
          "routing": {
            "allocation": {
              "exclude": {
                "_ip": "192.168.xx.xx,192.168.xx.xx,192.168.xx.xx"
              }
            }
          }
        }
      }
    }                        
  4. 執行以下命令,復原遷移節點資料。

    • 復原部分節點資料。配置中要去掉需要復原的節點,但要保留不復原的節點。

      PUT _cluster/settings
      {
        "transient": {
          "cluster": {
            "routing": {
              "allocation": {
                "exclude": {
                  "_ip": "192.168.xx.xx,192.168.xx.xx"
                }
              }
            }
          }
        }
      }
    • 復原全部節點資料。

      PUT _cluster/settings
      {
        "transient": {
          "cluster": {
            "routing": {
              "allocation": {
                "exclude": {
                  "_ip": null
                }
              }
            }
          }
        }
      }                            
  5. 執行以下命令,校正是否完成資料復原。

    GET _cluster/settings

    執行成功後,如果返回結果中不包含遷移節點的IP地址,則表示已經完成該節點的遷移復原任務。您也可以通過觀察相應節點是否被重新分配shard來判斷。

    說明

    資料移轉或復原時,均可以通過GET _cat/shards?v命令查看任務狀態。

常見問題