全部產品
Search
文件中心

AnalyticDB:Multi-Cluster彈性模型

更新時間:Sep 12, 2024

Interactive型資源群組支援Multi-Cluster彈性模型。Multi-Cluster彈性模型由一個或者多個Cluster組成,可根據資源群組的負載自動進行資源擴縮容,滿足資源群組內部的資源隔離和高並發情境。

前提條件

  • 叢集的產品系列為湖倉版

  • 叢集的核心版本需為3.1.10.0及以上。

    說明

    查看湖倉版叢集的核心版本,請執行SELECT adb_version();。如需升級核心版本,請聯絡支援人員。

什麼是Multi-Cluster資源群組

未開啟Multi-Cluster功能時,一個資源群組僅有一個Cluster執行查詢。當查詢任務提交到資源群組時,這些查詢共用資源組的所有計算資源。如果資源群組中啟動並執行查詢過多,會發生資源爭搶,影響查詢速度。如果資源群組的查詢並發數達到上限,查詢將會排隊。

Multi-Cluster資源群組由一個或者多個Cluster組成。通過靜態或者動態申請Cluster資源來應對變化的負載。接入節點收到使用者查詢後,通過負載平衡調度,將查詢分配給資源群組的不同Cluster執行。不同Cluster的查詢相互獨立,互不影響。如下圖所示。image.png

Multi-Cluster資源群組適合改善中小查詢的並發度,減少查詢的資源爭搶問題,但並不會提高慢查詢和ETL任務的速度。

開啟Multi-Cluster的優勢

對於未開啟Multi-Cluster的資源群組,當查詢負載不斷增長,該資源群組的計算資源無法滿足業務需求時,您需要手動進行以下操作:

  • 手動調整資源群組的資源量來滿足業務需求。

  • 當大查詢和小查詢發生了資源爭搶,影響了小查詢的響應速度時,您需要將大查詢投遞到其他資源群組。

  • 當查詢負載下降之後,資源群組計算資源有冗餘時,手動縮容資源群組的資源量以節省成本。

對於開啟了Multi-Cluster模式的資源群組,同一個資源群組由多個相同規格的Cluster組成。將為您帶來以下優勢:

  • 在Multi-Cluster彈性模式下,您無需因為查詢負載抖動而手動調整資源群組的大小。AnalyticDB for MySQL會自動根據查詢負載調整Cluster個數。

  • 在Multi-Cluster最大值模式情況下,您可以通過調整Cluster個數來控制資源群組的計算資源總量。

  • 資源群組內部的Cluster是相互隔離的,大查詢只會影響所在的Cluster,不會影響其餘Cluster中的查詢。

注意事項

  • Multi-Cluster模型僅適用於Interactive類型資源群組。

  • 核心版本3.1.10.0之前建立的資源群組不支援開啟Multi-Cluster模型。如果您需要使用Multi-Cluster彈性模型,請建立Interactive型資源群組。

  • 同一個Interactive型資源群組,不支援同時開啟資源彈性計劃和Multi-Cluster功能。

費用說明

開啟Multi-Cluster後,Interactive資源群組的Cluster個數會彈性變化,並根據實際彈起的資源量(單Cluster規格*Cluster個數)收取彈性資源費用。詳情請參見湖倉版產品定價

開啟Multi-Cluster功能

您可以在建立資源群組時開啟Multi-Cluster,或通過修改已有資源群組的配置為已有資源群組開啟Multi-Cluster。

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,在湖倉版頁簽下,單擊目的地組群ID。

  2. 在左側導覽列,單擊集群管理 > 資源管理,切換到資源組管理頁簽。

  3. 資源組管理頁面,單擊新增資源群組或找到目標資源群組單擊修改

  4. 確認任務類型為Interactive,開啟Multi-Cluster,並配置如下相關參數。

    參數名稱

    說明

    引擎

    選擇XIHE或者Spark

    • XIHE引擎:該資源群組僅支援執行XIHE SQL。

    • Spark引擎:該資源群組僅支援執行Spark作業,且Spark作業會以互動式方式進行處理。

      重要

      該功能目前在邀測中,如需使用,請加入DingTalk群 (群號:33600023146)聯絡技術開啟。

    Cluster大小

    單個Cluster的大小,即ACU數,可任意填寫,最小為16 ACU。

    若選擇Spark引擎,您需要先瞭解Cluster大小與Spark Driver、Spark Executor規格映射關係,以便選擇合適的Cluster大小。詳情請參見附錄:Cluster大小與Spark Driver和Spark Executor規格映射關係

    最小Cluster個數

    資源群組內至少需要維持的Cluster個數,需要小於等於最大Cluster個數,最小為1。

    • 設定不同的最小Cluster個數最大Cluster個數時, AnalyticDB for MySQL會根據資源群組的查詢負載在設定的最小Cluster個數最大Cluster個數之間進行動態地擴縮容。

    • 指定相同的最小Cluster個數最大Cluster個數時,Cluster個數需要大於等於2。AnalyticDB for MySQL在資源群組建立成功後就會啟動指定的Cluster個數,有效地靜態控制資源群組的計算資源總量。

    最大Cluster個數

    Cluster個數可以擴容到的最大值,最大為10。

    • 設定不同的最小Cluster個數最大Cluster個數時, AnalyticDB for MySQL會根據資源群組的查詢負載在設定的最小Cluster個數最大Cluster個數之間進行動態地擴縮容。

    • 指定相同的最小Cluster個數最大Cluster個數時,Cluster個數需要大於等於2。AnalyticDB for MySQL在資源群組建立成功後就會啟動指定的Cluster個數,有效地靜態控制資源群組的計算資源總量。

  5. 單擊確定,開啟Multi-Cluster功能。

    開啟Multi-Cluster功能後,資源群組管理頁簽可以查看Multi-Cluster資源群組最小、最大和正在啟動並執行Cluster個數,同時操作列的監控選項中還可以查看詳細的資源群組相關指標。

修改最大和最小Cluster個數的影響

當您變更最大和最小Cluster個數時,對當前啟動並執行Cluster個數的影響如下。

最小Cluster個數最大Cluster個數不同時:

  • 增加最大Cluster個數:增加Cluster個數上限。在負載滿足要求之前,Cluster當前運行個數不會發生變化。

  • 減少最大Cluster個數:如果此時正在啟動並執行Cluster個數大於修改後的最大Cluster個數,新的查詢將不會發送到多餘的Cluster中,等到多餘Cluster上的查詢執行完畢後,減少啟動並執行Cluster。

  • 增加最小Cluster個數:立即建立新的Cluster,直至滿足指定的最小Cluster個數。

  • 減少最小Cluster個數: 如果此時正在啟動並執行Cluster個數大於修改後的最小Cluster個數,AnalyticDB for MySQL會在5分鐘時間視窗內持續監控您的查詢負載,直至您的負載符合減少條件時,才會減少至您配置的最小Cluster個數。

最小Cluster個數最大Cluster個數相同時:

  • 增加最大Cluster個數和最小Cluster個數:直接增加Cluster個數到您設定的最大Cluster個數。

  • 減少最大Cluster個數和最小Cluster個數:新的查詢將不會發送到多餘的Cluster中,等到多餘Cluster上的查詢執行完畢後,減少Cluster。

附錄Cluster大小與Spark Driver和Spark Executor規格映射關係

Cluster大小

Spark Driver規格

Spark Executor規格

24 ACU

8 Core 64 GB

1 x 8 Core 64 GB

36 ACU

8 Core 64 GB

2 x 8 Core 64 GB

72 ACU

16 Core 128 GB

4 x 8 Core 64 GB

144 ACU

16 Core 128 GB

10 x 8 Core 64 GB

240 ACU

16 Core 128 GB

9 x 16 Core 128 GB

360 ACU

16 Core 128 GB

14 x 16 Core 128 GB

480 ACU

64 Core 512 GB

32 x 8 Core 64 GB

864 ACU

64 Core 512 GB

64 x 8 Core 64 GB

1632 ACU

64 Core 512 GB

128 x 8 Core 64 GB

3168 ACU

64 Core 512 GB

256 x 8 Core 64 GB