意外的集群終止

了解如何排除Databricks集群意外停止的故障。

寫的亞當Pavlacka

最後發布時間:2022年3月4日

有時集群會意外終止,而不是由於手動終止或者配置自動終止.由於多種原因可以終止集群。有些終止是由Databricks發起的,而其他終止是由雲提供商發起的。本文介紹了終止合同的原因和補救措施。

數據庫發起請求超過限製

為了防止API濫用,確保服務質量,並防止您意外地創建過多的大型集群,Databricks限製了所有集群增加請求,包括集群創建、啟動和調整大小。節流使用令牌桶算法在Databricks部署中限製任何人可以在定義的間隔內啟動的節點總數,同時允許特定大小的突發請求。來自web UI和api的請求都受到速率限製。當集群請求超過速率限製時,超過限製的請求失敗REQUEST_LIMIT_EXCEEDED錯誤。

解決方案

如果您達到了合法工作流的限製,Databricks建議您執行以下操作:

  • 幾分鍾後重試您的請求。
  • 在計劃的時間範圍內均勻地展開重複的工作流程。例如,不要安排你所有的工作要以每小時為邊界運行,請嚐試在一小時內以不同的間隔分配它們。
  • 考慮使用具有較大節點類型節點數量更少。
  • 使用自動定量集群。

如果這些選項對您不起作用,請聯係Databricks Support請求提高核心實例的限製。

有關Databricks發起終止的其他原因,請參見終止代碼

雲提供商發起的終止

本文列出了與雲提供商相關的常見終止原因和補救步驟。

AWS

供應商限製

Databricks通過代表您的雲帳戶請求資源來啟動集群。有時,這些請求會失敗,因為它們會超過您的雲帳戶的資源限製。在AWS中,常見的錯誤代碼包括:

InstanceLimitExceeded

AWS限製每種節點類型的運行實例數量。可能的解決方案包括:

  • 請求一個節點較少的集群。
  • 請求具有不同節點類型的集群。
  • 請求AWS支持增加實例限製

客戶端。VolumeLimitExceeded

創建集群請求超過EBS卷極限。AWS有兩種類型的卷限製:對EBS卷的總數的限製和對EBS卷的總存儲大小的限製。可能的補救措施:

  • 請求一個節點較少的集群。
  • 檢查超出了兩個限製中的哪一個。(AWS可信顧問顯示免費服務限製)。如果請求超過了EBS卷的總數,請嚐試減少每個節點請求的卷數量。如果請求超過了總EBS存儲大小,請嚐試減少請求的存儲大小和/或EBS卷的數量。
  • 請求AWS支持提高EBS音量限製

RequestLimitExceeded

AWS限製API請求的速率提交給AWS帳戶。請稍等片刻,然後重試請求。

供應商關閉

Spark驅動程序是一個單點故障,因為它保存了所有的集群狀態。如果承載驅動程序節點的實例被關閉,Databricks將終止集群。在AWS中,常見的錯誤代碼包括:

客戶端。使用rInitiatedShutdown

實例被直接請求AWS終止,該請求不是來自Databricks。有關詳細信息,請與AWS管理員聯係。

服務器。InsufficientInstanceCapacity

AWS無法滿足實例請求。等待一段時間後重試該請求。如果問題仍然存在,請聯係AWS支持人員。

服務器。SpotInstanceTermination

實例已被AWS終止,因為當前現貨價格已超過此實例的最大出價。為驅動程序使用按需實例、選擇不同的可用性區域或指定更高的現貨競價。

有關其他與關閉相關的錯誤代碼,請參見AWS文檔

刪除

發射失敗

AWS

在AWS中,常見的錯誤代碼包括:

UnauthorizedOperation

沒有授權Databricks啟動所請求的實例。可能的原因包括:

  • 您的AWS管理員已使用於啟動實例的AWS訪問密鑰或IAM角色無效。
  • 您正在嚐試使用Databricks沒有權限使用的IAM角色啟動集群。請聯係設置IAM角色的AWS管理員。有關更多信息,請參見通過IAM角色安全訪問S3桶

不支持,提示“您所請求的配置不支持ebs優化實例”

所選實例類型在所選可用分區中不存在。它實際上與啟用ebs優化沒有任何關係。為了補救,您可以選擇不同的實例類型或AZ。

AuthFailure。ServiceLinkedRoleCreationNotPermitted

所提供的憑據沒有為EC2現貨實例創建服務鏈接角色的權限。Databricks管理員需要更新用於在您的帳戶中啟動實例的憑據。說明和更新的策略可以在這裏找到AWS帳戶

看到錯誤代碼以獲取AWS錯誤代碼的完整列表。

刪除

Azure

此終止原因發生在Azure Databricks無法獲取虛擬機時。來自API的錯誤代碼和消息將被傳播,以幫助您排除問題。

OperationNotAllowed

您已達到訂閱可以啟動的配額限製(通常是內核數)。請求增加Azure門戶的限製。看到Azure訂閱和服務限製、配額和約束

PublicIPCountLimitReached

您已達到可以運行的公共ip的限製。請求增加Azure門戶的限製。

SkuNotAvailable

所選資源SKU(例如虛擬機大小)對於所選位置不可用。要解決此問題,請參見解決SKU不可用的錯誤

ReadOnlyDisabledSubscription

您的訂閱已被禁用。按照下麵的步驟操作為什麼我的Azure訂閱被禁用,如何重新激活它?重新激活您的訂閱。

ResourceGroupBeingDeleted

如果有人取消Azure門戶中的Azure Databricks工作空間,而您試圖同時創建集群,則可能會發生這種情況。資源組正在刪除,集群故障。

SubscriptionRequestsThrottled

您的訂閱已達到Azure資源管理器請求限製(請參閱節流資源管理器請求).典型的原因是Azure Databricks之外的另一個係統對Azure進行了大量的API調用。聯係Azure支持來識別這個係統,然後減少API調用的數量。

刪除

溝通了

Databricks能夠啟動集群,但失去了與承載Spark驅動程序的實例的連接。

AWS

由不正確的網絡配置(例如,更改Databricks worker的安全組設置)或暫時性AWS網絡問題引起。

刪除

Azure

由驅動虛擬機宕機或網絡問題引起。

刪除