Spark作業失敗,Driver暫時不可用

了解如何區分活動和死亡的Databricks作業。

寫的亞當Pavlacka

最後發布日期:2022年5月10日

問題

Databricks筆記本會返回以下錯誤:

驅動程序暫時不可用

這個問題可能是間歇性的,也可能不是。

相關的錯誤信息是:

與集群失去連接。筆記本可能被拆開了。

導致

導致這種錯誤的一個常見原因是驅動程序正在經曆內存瓶頸。當發生這種情況時,驅動程序會因內存不足(OOM)而崩潰,並由於頻繁的全垃圾收集而重新啟動或變得無響應。內存瓶頸的原因可能是以下任何一種:

  • 驅動程序實例類型對於在驅動程序上執行的負載不是最優的。
  • 在驅動程序上執行內存密集型操作。
  • 同一集群上有許多筆記本電腦或作業並行運行。

解決方案

解決方案因情況而異。在沒有具體細節的情況下,解決這個問題的最簡單方法是增加驅動程序內存。您可以通過在Databricks工作空間的集群編輯頁麵上升級驅動程序節點類型來增加驅動程序內存。

其他需要考慮的要點:

  • 避免內存密集型操作,例如:
    • Collect()操作符,這將為驅動程序帶來大量數據。
    • 將一個大的數據幀轉換為熊貓
    如果這些操作是必要的,請確保有足夠的驅動程序內存可用。
  • 避免在共享交互式集群上運行批處理作業。
  • 將工作負載分布到不同的集群中。無論集群規模有多大,Spark驅動的功能都不能在集群內分布。
這篇文章有用嗎?