共用方式為


利用彈性節點類型提升運算啟動的可靠性

Azure Databricks 中的經典運算資源使用彈性節點類型,當指定的實例類型無法使用時,運算資源可退回到相容的其他實例類型。

此行為透過減少運算啟動時的容量故障(缺貨錯誤)來提升運算啟動的可靠性。 對於具備備援的點實例,彈性節點類型可嘗試在不同實例類型間多次取得實例,然後再退回按需實例。 這會導致更多實例以點位而非隨選執行,降低整體運算成本。

彈性節點類型的運作方式

當你啟動運算資源時,雲端服務提供者有時會因應你指定的實例類型容量不足。 這會導致缺貨錯誤:

CLOUD_PROVIDER_RESOURCE_STOCKOUT

雖然這些錯誤在點狀實例中較為常見,但按需實例也可能發生。

啟用彈性節點類型後,Azure Databricks 會自動產生或使用你指定的相容實例類型的備用清單。 若您偏好的實例類型無法使用,Azure Databricks 會嘗試取得這些備份實例類型,而非立即失敗。

在您的工作空間中啟用彈性節點類型

Workspace 管理員可以在他們的工作區管理員設定中啟用彈性節點類型。 啟用後,工作區中所有新的經典運算資源將使用彈性節點類型,除非明確停用:

  1. 身為工作區系統管理員,請移至 [ 設定] 頁面
  2. 點擊 計算 標籤。
  3. 切換啟用 自動彈性節點類型 設定:
    • 啟用:所有新的經典運算資源都會自動使用彈性節點類型,除非明確停用。
    • 停用:經典運算資源只有在計算資源設定中明確設定 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 架構及作業系統映像檔,以確保你的工作負載正常運行。

您可以查看為您的計算資源取得的實例類型:

  1. 在計算細節頁面,點選 終止 按鈕旁的三個點,選擇 「檢視 JSON」。
  2. 檢視 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": []
}