新建、修改、刪除資源組
云原生數據倉庫 AnalyticDB MySQL 版資源組可以實現離線批處理與交互式查詢的計算資源隔離,支持資源的定時或自動彈性,允許控制查詢的優先級等。本文介紹如何新建資源組,以及資源組的管理操作。
前提條件
集群的產品系列為企業版、基礎版或湖倉版。
計費說明
Interactive型資源組和Job型資源組使用的彈性資源,會產生ACU彈性資源費用。
在集群管理>資源管理>資源總覽頁面,可以查看所有資源組使用的總資源和預留資源。總資源和預留資源的差值為彈性資源用量。
新建資源組
每個集群都有一個默認資源組user_default。在沒有其他資源組的情況下,所有查詢都由默認資源組執行。如果有查詢的資源隔離需求,您需要新建資源組。
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊集群管理>資源管理,單擊資源組管理頁簽。然后在資源組列表的右上角,單擊新增資源組。
為資源組命名,并選擇任務類型。
高QPS低RT的在線場景,請選擇Interactive。
Interactive型資源組使用常駐的計算資源,以MPP方式執行查詢,響應時間較快,通常在毫秒級。
高吞吐離線場景,請選擇Job。
Job型資源組會拉起臨時計算資源,并以BSP方式執行查詢,響應時間較慢,通常在秒級或分鐘級。拉起的臨時計算資源量在0 ACU和Job型資源組最大資源之間,具體資源量大小取決于所運行的任務大小。
重要資源組創建成功后,不能修改任務類型。
選擇的任務類型不同,需要設置的屬性也不同。設置屬性后,單擊確定。
Interactive型資源組屬性
參數名稱
說明
引擎
XIHE引擎:該資源組僅支持執行XIHE SQL。
Spark引擎:該資源組僅支持執行Spark SQL作業,且Spark SQL作業會以交互式方式進行處理。
重要資源組創建成功后,不能修改引擎。
自動停止
當Interactive型資源組的閑置狀態到達指定時長后,即執行完最后一條命令并閑置幾分鐘后,資源組已啟用的Cluster將自動釋放。
開啟自動停止,可減少資源浪費,節省資源成本。但再次執行查詢時,需要重新拉起資源,會有一定延遲。
重要僅引擎選擇為Spark時支持該參數。
Cluster大小
單個Cluster的大小,即ACU數,可任意填寫,最小為16 ACU。
最小Cluster個數
最大Cluster個數
最小Cluster個數:資源組內至少需要運行的Cluster個數,最小為1。
最大Cluster個數:Cluster個數可以擴容到的最大值,最大為10。
最小Cluster個數和最大Cluster個數不同時,AnalyticDB for MySQL會根據資源組的查詢負載在最小Cluster個數和最大Cluster個數之間動態地擴縮容Cluster個數。
最小Cluster個數和最大Cluster個數相同時,AnalyticDB for MySQL在資源組創建成功后就會啟動指定的Cluster個數,有效地靜態控制資源組的計算資源總量。
說明最小Cluster個數或最大Cluster個數大于等于2時,則表示該資源組開啟Multi-Cluster功能。Multi-Cluster功能詳情,請參見Multi-Cluster彈性模型。
作業投遞規則
將超過查詢執行時間閾值的查詢投遞到目標資源組執行。詳情請參見作業投遞。
重要僅引擎選擇為XIHE時支持該參數。
Spark 配置
Spark應用配置參數,應用于該資源組執行的所有Spark作業。如需為某個Spark作業單獨配置參數,可以在提交作業時通過代碼設置。
Spark配置參數詳情,請參見Spark應用配置參數說明。
重要僅引擎選擇為Spark時支持該參數。
Job型資源組屬性
參數名稱
說明
計算最小資源
最小取值為0 ACU。
重要資源組創建成功后,不支持修改計算最小資源。
計算最大資源
控制臺可設置的計算最大資源為1024 ACU,步長為8 ACU。若您有需求,可提交工單聯系技術支持調大資源。
競價實例
是否開啟競價實例。
開啟競價實例后,運行在Job型資源組上的Spark作業會嘗試使用競價實例資源。更多信息,請參見競價實例。
Spark 配置
Spark應用配置參數,應用于該資源組執行的所有Spark作業。如需為某個Spark作業單獨配置參數,可以在提交作業時通過代碼設置。
Spark配置參數詳情,請參見Spark應用配置參數說明。
修改資源組
哪些屬性支持修改
自定義資源組(即自己新建的資源組)支持修改以下屬性:
Interactive型資源組的自動停止、Cluster大小、最小Cluster個數、最大Cluster個數、作業投遞規則和Spark配置。
Job型資源組的計算最大資源、競價實例和Spark配置。
其他屬性,包括資源組名稱、任務類型、Interactive型資源組的引擎、Job型資源組的計算最小資源,均不支持修改。
默認資源組(即名稱為user_default的資源組):
湖倉版的默認資源組,支持修改計算預留資源和作業投遞規則。
企業版和基礎版的默認資源組,不支持任何修改。
操作步驟
在資源組管理頁面,單擊目標資源組操作列中的修改。
在彈出的修改資源組面板中,修改屬性值。然后單擊確定。
當資源組狀態變為“運行中”時,修改生效。
刪除資源組
自定義資源組(即自己新建的資源組)可以刪除。默認資源組(user_default資源組)不支持刪除。
刪除資源組的影響
如果有正在運行的任務,刪除資源組將導致資源組中運行的任務中斷。
如果在XIHE SQL腳本或Spark作業中指定了某資源組,請在刪除該資源組后修改XIHE SQL腳本或Spark作業中指定的資源組,否則XIHE SQL作業將由默認資源組執行,Spark作業將報錯。
操作步驟
在資源組管理頁面,單擊目標資源組操作列中的刪除。在彈窗中單擊確定,即可刪除資源組。
監控資源用量
您可以查看集群級別的資源用量,資源組級別的資源和負載,以及作業級別的資源消耗。
查詢集群的預留和彈性資源
在集群管理>資源管理>資源總覽頁面,查看集群所有資源組在某個時間點的總資源和預留資源。總資源和預留資源的差值為彈性資源用量。
查詢單個資源組的資源和負載
您可以查看單個資源組實際占用的計算資源。您也可以根據以下指標了解資源組的負載情況:運行中和排隊中的XIHE SQL數量、Spark引擎個數和連接數。
在集群管理>資源管理>資源組管理頁面,找到目標資源組,單擊監控,查看單個資源組實際使用的計算資源。
查詢單個作業消耗的資源
作業使用統計提供了以下作業的資源消耗統計:XIHE BSP作業、Spark作業、AnalyticDB for MySQL控制臺的SLS/Kafka數據同步和數據遷移任務。
您可以在集群管理>資源管理>作業使用統計頁面,查看作業消耗的總資源、預留資源、彈性資源、競價實例資源。
綁定或解綁數據庫賬號
如果您希望不同數據庫賬號發起的查詢能夠實現資源隔離,您可以將數據庫賬號綁定到資源組。數據庫賬號綁定資源組后,如果該賬號發起的SQL查詢沒有顯式指定資源組,則會根據綁定關系路由至對應的資源組執行。
綁定規則
一個賬號只能綁定一個資源組。一個資源組可以被多個賬號綁定。
一個賬號沒有與任何自定義資源組綁定的時候,該賬號與默認資源組綁定。
默認資源組user_default不支持綁定用戶。
刪除資源組或數據庫賬號時,會同時解綁數據庫賬號與資源組的綁定關系。
使用方法
通過控制臺綁定或解綁數據庫賬號
在集群管理>資源管理>資源組管理頁面,找到指定資源組,然后在操作列中單擊綁定用戶。
在用戶名下拉列表中選擇數據庫賬號,單擊綁定用戶,并在彈出的確認綁定用戶對話框中單擊確定。
單次只能綁定一個數據庫賬號。如需綁定多個賬號,請重復步驟2。
如果下拉列表為空,說明您還沒有創建數據庫賬號,請先創建賬號,具體步驟請參見創建數據庫賬號。
如果需要解綁數據庫賬號,在綁定用戶列表中,找到目標用戶,單擊解除綁定,然后在彈出的對話框中單擊確定。
通過OpenAPI綁定或解綁數據庫賬號
啟動或停止ThriftServer(不推薦)
推薦您將Spark SQL作業投遞到Spark引擎類型的Interactive型資源組,實現Spark SQL的交互式查詢。創建Spark類型的Interactive型資源組,請參見新建資源組。投遞Spark SQL作業到Interactive型資源組,請參見如何使用指定資源組的資源執行查詢。
AnalyticDB for MySQL企業版、基礎版或湖倉版Job型資源組默認使用批處理方式執行Spark SQL。如果您想要使用Job型資源組執行交互式查詢,則需要啟動ThriftServer。啟動ThriftServer后,同一資源組內可以并發執行多個交互式查詢,提升查詢效率。
啟動ThriftServer
每個Job型資源組只能啟動一個ThriftServer。
已啟動ThriftServer的Job型資源組,在執行Spark SQL作業時,都會采用交互式執行。
在集群管理>資源管理>資源組管理頁面,找到目標Job型資源組,然后在操作列中單擊ThriftServer配置。
在ThriftServer配置頁面,填寫參數配置。然后單擊啟動。
參數名稱
是否必填
說明
對應的配置參數
Min Executor個數
是
Spark彈性配置下的最小Executor數量,默認值為0,表示不執行Spark SQL時會釋放所有的Executor。一個Executor的資源量為2 ACU。
spark.dynamicAllocation.minExecutors
Max Executor個數
是
Spark彈性配置下最大的Executor數量,表示執行Spark SQL時最大拉起的Executor數量,至少配置為1。一個Executor的資源量為2 ACU。
請勿超過該Job型資源組的計算最大資源,否則可能報錯。例如某Job型資源組的計算最大資源為16 ACU,那么可配置的最大Executor數量為8。
spark.dynamicAllocation.maxExecutors
JARS
否
執行環境需要第三方JAR包的OSS路徑。
如果執行SQL時,需要依賴JAR包,請先將JAR包上傳至OSS的存儲空間。如何上傳文件,請參見控制臺上傳文件。
spark.jars
最大連接數
否
Spark維護的最大的Session數量,每個Session對應一個獨立線程,配置過大可能引起OOM錯誤。
spark.sql.retainedSessions
其他配置
否
其他Spark配置。詳情請參見Spark應用配置參數說明和Spark配置。
無
停止ThriftServer
當您不需要執行交互式查詢時,可以停止ThriftServer,釋放ThriftServer占用的資源。停止后,Job型資源組會使用批處理方式執行Spark SQL。
停止ThriftServer會中斷當前所有執行中的SQL和排隊中的SQL。請確保暫無執行中和排隊中的SQL,或這些SQL中斷對業務無影響后,再停止ThriftServer。
在集群管理>資源管理>資源組管理頁面,找到目標Job型資源組,然后在操作列中單擊ThriftServer配置。
在ThriftServer配置頁面,單擊停止。
常見問題
集群的預留資源為32 ACU。新建的Job型資源組和默認資源組同時消耗32 ACU的預留資源嗎?
如果您的集群為企業版或基礎版,預留資源只能全部分配給默認資源組。即只有默認的Interactive型資源組能夠消耗預留資源。新建的Job型資源組或Interactive型資源組,只能消耗彈性資源。
如果您的集群為湖倉版,預留資源可以分配給默認資源組,也可以分配給新建的Job型資源組或Interactive型資源組。默認資源組的計算最小/最大資源,即為分配給默認資源組的預留資源。集群計算預留資源與默認資源組計算最小/最大資源的差值,即為可以分配給新建的Job型資源組或Interactive型資源組的資源。