Azure Databricks 中的經典運算資源使用彈性節點類型,當指定的實例類型無法使用時,運算資源可退回到相容的其他實例類型。
此行為透過減少運算啟動時的容量故障(缺貨錯誤)來提升運算啟動的可靠性。 對於具備備援的點實例,彈性節點類型可嘗試在不同實例類型間多次取得實例,然後再退回按需實例。 這會導致更多實例以點位而非隨選執行,降低整體運算成本。
彈性節點類型的運作方式
當你啟動運算資源時,雲端服務提供者有時會因應你指定的實例類型容量不足。 這會導致缺貨錯誤:
CLOUD_PROVIDER_RESOURCE_STOCKOUT
雖然這些錯誤在點狀實例中較為常見,但按需實例也可能發生。
啟用彈性節點類型後,Azure Databricks 會自動產生或使用你指定的相容實例類型的備用清單。 若您偏好的實例類型無法使用,Azure Databricks 會嘗試取得這些備份實例類型,而非立即失敗。
在您的工作空間中啟用彈性節點類型
Workspace 管理員可以在他們的工作區管理員設定中啟用彈性節點類型。 啟用後,工作區中所有新的經典運算資源將使用彈性節點類型,除非明確停用:
- 身為工作區系統管理員,請移至 [ 設定] 頁面。
- 點擊 計算 標籤。
- 切換啟用 自動彈性節點類型 設定:
- 啟用:所有新的經典運算資源都會自動使用彈性節點類型,除非明確停用。
-
停用:經典運算資源只有在計算資源設定中明確設定
node_type_flexibility時才會使用彈性節點類型。
此工作區範圍設定不影響現有的運算資源。 停用後,使用者仍可透過明確配置 worker_node_type_flexibility OR driver_node_type_flexibility 欄位並自訂備援清單,為個別運算資源配置靈活節點類型。 為了防止使用者設定這些欄位,工作區管理員可以使用運算策略。 請參閱 彈性節點類型政策範例。
指定自訂備用清單
當您的工作空間啟用彈性節點類型時,Azure Databricks 會自動產生相容的實例類型備用清單,以支援新的運算資源。
如果你不想使用自動產生的備援清單,也可以自訂自己的備援清單。 此外,如果你的工作區中關閉了彈性節點類型,你仍然可以為運算資源指定自訂的備援清單。 只有特定實例類型是相容的。 請參見 備援實例類型要求。 關於相容實例類型的參考,請參見 彈性節點類型相容性參考。
自訂備援清單僅在使用 API 設定運算時被支援。 請參閱 Clusters API 參考文件。
例如,以下配置指定計算資源在需要時將退回哪種實例類型:
"worker_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
備援實例類型需求
備援實例類型必須與計算所偏好的實例類型相容。 你的備用實例類型清單必須符合以下條件:
- vCPU 數量和記憶體與偏好實例類型相同(備援實例的記憶體必須在該偏好實例類型的 100% 到 110% 之間)
- 本地磁碟數量與磁碟大小與偏好實例類型相同
- CPU 架構與偏好的實例類型相同(全 ARM 或全 x86)
- 作業系統映像檔與 Photon 支援與首選實例類型相同
- 沒有 GPU 實例類型(不支援 GPU)
- 最多可有 5 種獨特的備用實例類型
- 所有實例類型都必須有一致的儲存支援:要麼全部支援PREMIUM_LRS儲存,要麼都沒有。
使用靈活的節點類型與資源池互動
你也可以自訂一個池子的備用清單。 在 Pools API 中,設定 node_type_flexibility 欄位指定備援實例類型。 例如:
"node_type_flexibility": {
"alternate_node_type_ids": ["Standard_L8s_v2"]
}
池不支援使用彈性實例類型以維持最低閒置數量。 該池只能在嘗試從池中啟動運算時,使用備援實例類型啟動虛擬機。 預熱 minIdle 計數只使用偏好的實例類型。
查看已取得的實例類型
使用彈性節點類型時,你的運算資源可能由多種不同實例類型的混合組成。 所有備用實例類型都相容於你偏好的類型,維持相同的 vCPU 數量、記憶體、磁碟配置、CPU 架構及作業系統映像檔,以確保你的工作負載正常運行。
您可以查看為您的計算資源取得的實例類型:
- 在計算細節頁面,點選 終止 按鈕旁的三個點,選擇 「檢視 JSON」。
- 檢視
node_type_id每個執行器的欄位,看看哪些實例類型正在執行。
你也可以使用 Get clusters info API 來程式化取得這些資訊。 此外,擁有存取系統資料表權限的使用者也可以查詢該 node_timelines 資料表。 請參閱 節點時間軸資料表架構。
在運算資源上停用彈性節點類型
備註
Databricks 建議除非你對特定實例類型有嚴格要求,否則維持彈性節點類型開啟。
如果你希望運算啟動失敗,而不是退回到其他實例類型,可以在個別運算資源層級關閉彈性節點行為。 這只在使用 Clusters API 時才支援。 要停用彈性節點類型,請在計算設定中將彈性節點類型欄位設為空。 例如:
"worker_node_type_flexibility": {
"alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": []
}