Init 腳本開始和完成事件會在叢集事件記錄檔中擷取。 詳細數據會在叢集記錄中擷取。 全域初始化腳本的建立、編輯和刪除事件也會記錄在帳戶層級的診斷記錄中。
初始化腳本事件
叢集事件記錄會 擷取兩個 init 腳本事件: INIT_SCRIPTS_STARTED 和 INIT_SCRIPTS_FINISHED,指出哪些腳本已排程執行且已順利完成。
INIT_SCRIPTS_FINISHED 也會擷取執行持續時間。
在記錄事件詳細資料中,全域 init 指令碼會以索引鍵 "global" 表示,而叢集範圍的 init 指令碼則會以索引鍵 "cluster" 表示。
注意
叢集事件記錄檔不會記錄每個叢集節點的 init 腳本事件;只選取一個節點來表示所有節點。
init 腳本記錄寫入到哪裡?
如果已為叢集設定叢集記錄傳遞,則 init 指令碼記錄會寫入/<cluster-log-path>/<cluster-id>/init_scripts。
叢集中每個容器的記錄都會寫入名為 init_scripts/<cluster-id>_<container-ip>的子目錄。
例如,若日誌路徑設定為 Unity 目錄卷 /Volumes/<catalog>/<schema>/<volume>區,特定容器的日誌路徑為: /Volumes/<catalog>/<schema>/<volume>/<cluster-id>/init_scripts/<cluster-id>_<container-ip>。
你可以使用 檔案系統工具(dbutils.fs) 或 fs 指令群組查看日誌。 例如,列出叢集 /Volumes/<catalog>/<schema>/<volume> 傳送到磁碟區 1001-234039-abcde739 的記錄:
databricks fs ls dbfs:/Volumes/<catalog>/<schema>/<volume>/1001-234039-abcde739/init_scripts
1001-234039-abcde739_10_97_225_166
1001-234039-abcde739_10_97_231_88
1001-234039-abcde739_10_97_244_199
databricks fs ls dbfs:/Volumes/<catalog>/<schema>/<volume>/1001-234039-abcde739/init_scripts/1001-234039-abcde739_10_97_225_166
<timestamp>_<log-id>_<init-script-name>.sh.stderr.log
<timestamp>_<log-id>_<init-script-name>.sh.stdout.log
沒有設定叢集記錄傳遞時,會將記錄寫入 /databricks/init_scripts。 您可以在筆記本環境中使用標準 Shell 命令來列出和檢視記錄:
%sh
ls /databricks/init_scripts/
cat /databricks/init_scripts/<timestamp>_<log-id>_<init-script-name>.sh.stdout.log
每次叢集啟動時,它會將記錄寫入 init 腳本記錄檔資料夾。
重要
建立叢集並啟用叢集記錄傳遞的任何使用者,都可以檢視來自全域 init 腳本的 stderr 和 stdout 輸出。 您應該確定您的全域 init 腳本不會輸出任何敏感性資訊。
診斷日誌中的初始化腳本事件
Azure Databricks 診斷記錄會以事件類型 globalInitScripts 記錄全域初始化指令碼的建立、編輯及刪除事件。 請參閱 全域初始化指令碼事件。