本文描述了集群無法啟動的幾種場景,並根據日誌中發現的錯誤消息為每種場景提供了故障排除步驟。
集群超時
錯誤消息:
Driver failed to start in time INTERNAL_ERROR: The Spark Driver failed to start within 300 seconds Cluster failed to be healthy within 200 seconds
導致
如果集群連接到外部Hive metastore,並且試圖從Maven repo下載所有Hive metastore庫,則集群可能無法啟動。一個集群下載大約200個JAR文件,包括依賴項。如果Databricks集群管理器不能在5分鍾內確認驅動程序已就緒,則集群啟動失敗。這可能是因為JAR下載花費了太多時間。
解決方案
將Hive庫存儲在DBFS中,並從DBFS位置本地訪問它們。看到火花選項.
全局或特定於集群的初始化腳本
錯誤信息:
集群在50分鍾內無法啟動。原因:attempts . timeout with exception
導致
在集群啟動階段運行的Init腳本向每個工作機器發送一個RPC(遠程過程調用),以便在本地運行腳本。在流程繼續之前,所有rpc必須返回它們的狀態。如果任何RPC遇到問題並且沒有響應(例如,由於短暫的網絡問題),那麼可能會遇到1小時超時,導致集群設置作業失敗。
解決方案
使用一個集群範圍的初始化腳本而不是全局或集群命名的init腳本。對於集群範圍的init腳本,Databricks不使用rpc的同步阻塞來獲取init腳本執行狀態。
在集群UI中安裝了太多的庫
錯誤信息:
庫安裝在1800秒後超時。尚未安裝的庫:
導致
這通常是由於網絡問題造成的間歇性問題。
解決方案
通常可以通過重新運行作業或重新啟動集群來解決此問題。
庫安裝程序配置為3分鍾後超時。在獲取和安裝jar時,由於網絡問題可能會出現超時。為了緩解這個問題,可以將庫從Maven下載到DBFS位置,然後從那裏安裝。
雲提供商限製
錯誤信息:
集群終止。原因:雲提供商限製
導致
此錯誤通常由雲提供商返回。
解決方案
中的雲提供程序錯誤信息集群異常終止.
雲提供商關閉
錯誤信息:
集群終止。原因:雲提供商關閉
導致
此錯誤通常由雲提供商返回。
解決方案
中的雲提供程序錯誤信息集群異常終止.
實例不可達(Azure)
錯誤信息:
集群終止。原因:實例不可達設置集群時遇到意外錯誤。如果問題仍然存在,請重試並聯係Azure Databricks。內部錯誤消息:放置節點時超時
導致
此錯誤通常由雲提供商返回。通常,當您有Azure Databricks工作空間時,就會發生這種情況部署到您自己的虛擬網絡(VNet)(與啟動新的Azure Databricks工作空間時創建的默認VNet相反)。如果部署工作空間的虛擬網絡已經被對等,或者具有到內部部署資源的ExpressRoute連接,則當Azure Databricks試圖創建集群時,虛擬網絡無法建立到集群節點的ssh連接。
解決方案
添加用戶定義路由(UDR),使Azure Databricks控製平麵可以通過ssh訪問集群實例、Blob Storage實例和工件資源。這個自定義UDR允許出站連接,並且不會影響集群的創建。有關UDR的詳細說明,請參見步驟3:創建用戶定義的路由並將其與Azure Databricks虛擬網絡子網關聯.有關vnet相關的故障排除信息,請參見故障排除.