Interactive型資源群組支援Multi-Cluster彈性模型。Multi-Cluster彈性模型由一個或者多個Cluster組成,可根據資源群組的負載自動進行資源擴縮容,滿足資源群組內部的資源隔離和高並發情境。
前提條件
叢集的產品系列為湖倉版。
叢集的核心版本需為3.1.10.0及以上。
說明查看湖倉版叢集的核心版本,請執行
SELECT adb_version();
。如需升級核心版本,請聯絡支援人員。
什麼是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功能。
費用說明
開啟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作業會以互動式方式進行處理。
重要該功能目前在邀測中,如需使用,請加入DingTalk群 (群號:33600023146)聯絡技術開啟。
Cluster大小
單個Cluster的大小,即ACU數,可任意填寫,最小為16 ACU。
最小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個數,有效地靜態控制資源群組的計算資源總量。
單擊確定,開啟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 | 32 Core 256 GB | 18 x 16 Core 128GB |
864 ACU | 32 Core 256 GB | 34 x 16 Core 128GB |
1632 ACU | 64 Core 512 GB | 64 x 16 Core 128 GB |
3168 ACU | 64 Core 512 GB | 128 x 16 Core 128 GB |