競價實例
當您希望以較低的成本執行Spark作業(包括Spark SQL作業和Spark Jar作業)時,可以為Job型資源組開啟競價實例功能。開啟競價實例功能后,集群會嘗試使用閑置(更低價)的Spark Executor資源執行Spark作業。本文主要介紹什么是競價實例,競價實例的應用場景以及使用方法。
什么是競價實例
AnalyticDB for MySQL資源池中會有一些閑置的Spark Executor資源,資源會以折扣的方式進行售賣,這些資源也被稱為競價實例(搶占式實例)。
競價實例資源與ACU彈性資源有以下區別:
競價實例資源費用比ACU彈性資源的費用更低,大約是ACU彈性資源費用的7折左右。
當您在已開啟競價實例功能的Job型資源組中提交Spark作業時,集群會優先搶占閑置、低價的競價實例資源,若搶占成功,該Spark作業在執行時會使用競價實例資源,并按照競價實例資源計費;若搶占失敗,該Spark作業會使用ACU彈性資源,按照ACU彈性資源計費。
阿里云為AnalyticDB for MySQL競價實例默認提供一小時保護期,保證在一小時內競價實例的資源不會因其他資源搶占而釋放。超過競價實例保護期后,競價實例的資源可能會被搶占,搶占的概率隨資源使用時間增加而增加。
使用競價實例資源執行Spark作業的優先級較低。當其他集群提交了不使用競價實例資源的Spark作業時,有可能會搶占您的競價實例資源,導致競價實例資源釋放,進而導致使用競價實例的Spark作業運行失敗。競價實例釋放導致作業失敗的概率大約為1%~5%。
應用場景及建議
建議您在以下場景中開啟競價實例功能:
Spark作業開發。
對成本較為敏感。
對Spark作業失敗的容忍度較高。
大部分Spark作業的執行時間在一小時以內。
對于混合型業務(既有執行時間超過一小時的作業,也有執行時間小于一小時的作業)場景,有以下建議:
創建兩個Job型資源組,其中一個資源組開啟競價實例功能,且在該資源組中僅執行運行時間較短的任務;另一個資源組不開啟競價實例功能,在該資源組中僅執行運行時間較長的作業。
創建一個Job型資源組且開啟競價實例功能,在執行Spark作業時,通過配置
spark.adb.spotInstance.disabled
參數指定該Spark作業不使用競價實例功能。詳情,請參見指定Spark作業不使用競價實例(可選)。
使用限制
僅部分地域支持競價實例:華北1(青島)、華北2(北京)、華北3(張家口)、華東1(杭州)、華東2(上海)、華南1(深圳)、華南3(廣州)、中國(香港)、日本(東京)、新加坡、美國(硅谷)、美國(弗吉尼亞)、德國(法蘭克福)、英國(倫敦)。
僅支持為Job型資源組開啟競價實例功能,開啟該功能后,并不意味該資源組中所有的資源和所有Spark作業都會使用競價實例,僅意味該資源組中的Spark作業在執行時會嘗試使用競價實例功能。
僅支持Spark作業使用競價實例功能。
僅部分Spark Executor規格支持競價實例:large和2xlarge。Spark Executor資源規格的詳細信息,請參見Spark Executor資源規格。
費用說明
競價實例資源的費用相較于原本的ACU彈性資源費用有一定的折扣,大約為7折。費用詳情,請參見湖倉版產品定價。
集群中未被分配的計算預留資源可以用于抵扣競價實例資源,若使用的競價實例資源總量小于未被分配的計算預留資源,則直接抵扣;反之超出部分將按照競價實例資源的費用計費。競價實例資源使用量的查看方法,請參見查看競價實例的計算資源用量。
開啟競價實例
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表。在集群列表上方,選擇產品系列,然后單擊目標集群ID。
在左側導航欄,單擊集群管理>資源管理,單擊資源組管理頁簽。
為已有Job型資源組開啟競價實例
單擊Job型資源組操作列的修改。
在彈出的修改資源組面板中,打開競價實例開關。
單擊確定。
在資源組對應的競價實例列查看是否已開啟競價實例功能。
開啟競價實例功能后,Job型資源組上所運行的Spark作業都會嘗試使用競價實例功能。
創建Job型資源組時開啟競價實例
單擊資源組列表右上角的新增資源組,并填寫資源組信息。
參數名稱
說明
資源組名稱
自定義資源組的名稱。輸入長度在2~30位,以字母開頭,只能包含字母、數字和下劃線。
任務類型
在下拉列表中選擇Job,Job型資源組主要適用于高吞吐離線場景,使用按需彈性方式進行計算資源擴容和縮容。
計算最小資源
最小取值為0 ACU。
計算最大資源
控制臺可設置的計算最大資源為1024 ACU,步長為8 ACU。若您有需求,可提交工單聯系技術支持調大資源。
競價實例
是否開啟競價實例。
開啟競價實例后,運行在Job型資源組上的Spark作業會嘗試使用競價實例資源。更多信息,請參見競價實例。
單擊確定,完成新建資源組。
資源組創建后,在資源組對應的競價實例列查看是否已開啟競價實例功能。
開啟競價實例功能后,Job型資源組上所運行的Spark作業都會嘗試使用競價實例功能。
指定Spark作業不使用競價實例(可選)
若您不希望Spark作業在執行時使用競價實例功能,可以在Spark作業的CONF
參數中配置以下參數:
參數名稱 | 是否必填 | 參數說明 |
spark.adb.spotInstance.disabled | 否 | Spark作業在執行時是否使用競價實例。取值:
|
作業執行成功后,您可以通過查看競價實例資源使用量,確認配置是否修改成功。如果競價實例資源使用量為0,則表示提交的Spark作業在執行時未使用競價實例資源。
查看競價實例資源使用量
Spark作業執行完成后,您可以在Job型資源組的監控頁面查看競價實例資源的使用量。具體步驟及說明,請參見查看資源組的計算資源用量。
關閉競價實例
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表。在集群列表上方,選擇產品系列,然后單擊目標集群ID。
在左側導航欄,單擊集群管理>資源管理,單擊資源組管理頁簽。
單擊Job型資源組操作列的修改。
在彈出的修改資源組面板中,關閉競價實例開關。
單擊確定。
在資源組對應的競價實例列查看是否已關閉競價實例功能。
相關API
API名稱 | 說明 |
為企業版、基礎版及湖倉版集群創建資源組。 | |
修改企業版、基礎版及湖倉版集群的已有資源組。 | |
查詢企業版、基礎版及湖倉版集群的資源組信息。 | |
查詢企業版、基礎版及湖倉版集群的資源使用詳情。 |