Interactive型資源群組支援Multi-Cluster彈性模型。Multi-Cluster彈性模型由一個或者多個Cluster組成,可根據資源群組的負載自動進行資源擴縮容,滿足資源群組內部的資源隔離和高並發情境。
前提條件
叢集的產品系列為企業版、基礎版或湖倉版。
叢集的核心版本需為3.1.10.0及以上。
說明請在雲原生資料倉儲AnalyticDB MySQL控制台集群資訊頁面的配寘資訊地區,查看和升級核心版本。
什麼是Multi-Cluster資源群組
未開啟Multi-Cluster功能時,一個資源群組僅有一個Cluster執行查詢。當查詢任務提交到資源群組時,這些查詢共用資源組的所有計算資源。如果資源群組中啟動並執行查詢過多,會發生資源爭搶,影響查詢速度。如果資源群組的查詢並發數達到上限,查詢將會排隊。
Multi-Cluster資源群組由一個或者多個Cluster組成。通過靜態或者動態申請Cluster資源來應對變化的負載。接入節點收到使用者查詢後,通過負載平衡調度,將查詢分配給資源群組的不同Cluster執行。不同Cluster的查詢相互獨立,互不影響。如下圖所示。
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模型(即資源群組設定過Cluster最大值和Cluster最小值)和指定彈性計劃(包括Interactive型資源組彈性計劃和存儲加速服務(EIU)按比例默認彈性計劃)。
費用說明
開啟Multi-Cluster後,Interactive資源群組的Cluster個數會彈性變化,並根據實際彈起的資源量(單Cluster規格*Cluster個數)收取彈性資源費用。詳情請參見企業版、基礎版產品定價和湖倉版產品定價。
開啟Multi-Cluster功能
您可以在建立資源群組時開啟Multi-Cluster,或通過修改已有資源群組的配置為已有資源群組開啟Multi-Cluster。
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,單擊目的地組群ID。
在左側導覽列,單擊,切換到資源組管理頁簽。
在資源組管理頁面,單擊新增資源群組或找到目標資源群組單擊修改。
確認任務類型為Interactive,開啟Multi-Cluster,並配置如下相關參數。
參數名稱
說明
引擎
選擇XIHE或者Spark。
XIHE引擎:該資源群組僅支援執行XIHE SQL。
Spark引擎:該資源群組僅支援執行Spark作業,且Spark作業會以互動式方式進行處理。
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個數時,AnalyticDB for MySQL在資源群組建立成功後就會啟動指定的Cluster個數,有效地靜態控制資源群組的計算資源總量。
最大Cluster個數
Cluster個數可以擴容到的最大值,最大為10。
設定不同的最小Cluster個數和最大Cluster個數時, AnalyticDB for MySQL會根據資源群組的查詢負載在設定的最小Cluster個數和最大Cluster個數之間進行動態地擴縮容。
指定相同的最小Cluster個數和最大Cluster個數時,AnalyticDB for MySQL在資源群組建立成功後就會啟動指定的Cluster個數,有效地靜態控制資源群組的計算資源總量。
Spark配置
Spark應用配置參數,應用於該資源群組執行的所有Spark作業。如需為某個Spark作業單獨配置參數,可以在提交作業時通過代碼設定。
說明引擎為Spark引擎時,支援配置該參數。
單擊確定,開啟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規格映射關係
選擇不同的Spark資源規格記憶體比時,所啟動的Spark Driver和Spark Executor規格、數量將有所不同。您可以在開啟Multi-Cluster功能時,在Spark配置中添加spark.adb.warehouse.instance.spec參數,以設定Spark Driver和Spark Executor規格的CPU記憶體比。
spark.adb.warehouse.instance.spec參數的取值如下:
MEMORY(預設值):使用CPU記憶體比為
1:8的Spark Driver和Spark Executor。GENERAL:使用CPU記憶體比為
1:4的Spark Driver和Spark Executor。COMPUTE:使用CPU記憶體比為
1:2的Spark Driver和Spark Executor。
Cluster大小與Spark Driver和Spark Executor規格映射列表如下:
Cluster大小 | MEMORY(記憶體比1:8) | GENERAL(記憶體比1:4) | COMPUTE(記憶體比1:2) | |||
Spark Driver規格 | Spark Executor規格 | Spark Driver規格 | Spark Executor規格 | Spark Driver規格 | Spark Executor規格 | |
16ACU(3X-Small) | 4 Core 32 GB | 3 x 2 Core 16 GB | 4 Core 16 GB | 3 x 4 Core 16 GB | 4 Core 8 GB | 4 x 4 Core 8 GB |
24ACU(2X-Small) | 8 Core 64 GB | 1 x 8 Core 64 GB | 8 Core 32 GB | 4 x 4 Core 16 GB | 8 Core 16 GB | 11 x 2 Core 4 GB |
36ACU(X-Small) | 8 Core 64 GB | 2 x 8 Core 64 GB | 8 Core 32 GB | 7 x 4 Core 16 GB | 8 Core 16 GB | 18 x 2 Core 4 GB |
72ACU(Small) | 16 Core 128 GB | 4 x 8 Core 64 GB | 16 Core 64 GB | 7 x 8 Core 32 GB | 16 Core 32 GB | 37 x 2 Core 4 GB |
144ACU(Medium) | 16 Core 128 GB | 10 x 8 Core 64 GB | 16 Core 64 GB | 16 x 8 Core 32 GB | 16 Core 32 GB | 41 x 4 Core 8 GB |
240ACU(Large) | 16 Core 128 GB | 9 x 16 Core 128 GB | 16 Core 64 GB | 28 x 8 Core 32 GB | 16 Core 32 GB | 71 x 4 Core 8 GB |
360ACU | 16 Core 128 GB | 14 x 16 Core 128 GB | 16 Core 64 GB | 43 x 8 Core 32 GB | 16 Core 32 GB | 54 x 8 Core 16 GB |
480ACU(X-Large) | 32 Core 256 GB | 18 x 16 Core 128 GB | 32 Core 128 GB | 56 x 8 Core 32 GB | 32 Core 64 GB | 71 x 8 Core 16 GB |
864ACU(2X-Large) | 64 Core 512 GB | 32 x 16 Core 128 GB | 32 Core 128 GB | 52 x 16 Core 64 GB | 32 Core 64 GB | 131 x 8 Core 16 GB |