集群啟動時出現未知hostexception

在集群啟動時排除未知hostexception故障。這通常是DNS配置問題。

寫的arnab.saha

最後發布日期:2022年12月8日

問題

當您啟動Azure Databricks集群時,您將得到一個UnknownHostException錯誤。

您還可能會得到以下錯誤消息之一:

  • 錯誤:網絡配置中有一個錯誤。databricks_error_message:無法訪問工作構件。
  • 錯誤:名稱解析臨時失敗。
  • 內部錯誤信息:在實例XXX上啟動spark容器失敗。Exception: Could not add container for XXX with address x.x.x.x.mysql.databe.azure.com:名稱解析臨時失敗。

導致

這些錯誤表明DNS設置有問題。

  • 主DNS可能關閉或無響應。
  • 工件沒有被解析,這將導致集群啟動失敗。
  • 您可能有一個將工件公共IP列為靜態的主機記錄,但是它已經更改了。

解決方案

識別一個工作的DNS服務器並更新集群上的DNS條目。

  1. 開始一個獨立Azure VM並驗證工件blob存儲帳戶是否可以從實例訪問。
    telnet dbartifactsprodeastus.blob.core.windows.net 443 '。
  2. 通過運行。驗證您可以從筆記本電腦連接到主DNS服務器命令。
  3. 如果您的DNS服務器沒有響應,請嚐試從筆記本上通過運行命令。
  4. 啟動一個網絡終端來自集群工作區。
  5. 編輯/etc/resolv.conf文件。
  6. 更新命名服務器值與您的工作DNS服務器。
  7. 將更改保存到文件中。
  8. 重新啟動systemd-resolved
    $ sudo systemctl restart systemd-resolved.service
刪除

信息

這是對DNS的臨時更改,將在集群重新啟動時丟失。在驗證自定義DNS設置正確後,您可以使用dnsmasq配置自定義DNS設置讓改變永久化。

進一步的故障排除

如果您仍然有DNS問題,您應該嚐試以下步驟:

  • 確認防火牆中43端口(用於whois)和53端口(用於DNS)是開放的。
  • 將Azure遞歸解析器(168,.63.129.16)添加到默認DNS轉發器。檢查虛擬機和角色實例文檔獲取更多信息。
  • 驗證網路資訊查詢結果是相同的筆記本電腦和默認DNS。如果有一個錯誤匹配,您的DNS服務器可能有一個錯誤的主機記錄。
  • 驗證默認Azure DNS服務器是否正常工作。如果它適用於Azure DNS,但不適用於您的自定義DNS,則DNS管理員應檢查您的DNS服務器設置。


這篇文章有用嗎?