Init 腳本記錄
Init 腳本開始和完成事件會在叢集事件記錄檔中擷取。 詳細數據會在叢集記錄中擷取。 全域 init 腳本建立、編輯和刪除事件也會在帳戶層級診斷記錄中擷取。
Init 腳本事件
叢集事件記錄會 擷取兩個 init 腳本事件: INIT_SCRIPTS_STARTED
和 INIT_SCRIPTS_FINISHED
,指出哪些腳本已排程執行且已順利完成。
INIT_SCRIPTS_FINISHED
也會擷取執行持續時間。
索引鍵會以記錄事件詳細數據指出全域 init 腳本,而叢集範圍的 init 腳本則以索引鍵 "global"
"cluster"
表示。
注意
叢集事件記錄檔不會記錄每個叢集節點的 init 腳本事件;只選取一個節點來表示所有節點。
Where 是否寫入 init 腳本記錄?
如果叢集記錄傳遞已設定為叢集,則 init 腳本記錄會寫入 。/<cluster-log-path>/<cluster-id>/init_scripts
叢集中每個容器的記錄都會寫入名為 init_scripts/<cluster-id>_<container-ip>
的子目錄。
例如,如果 cluster-log-path
是 set 到 cluster-logs
,則特定容器的記錄路徑會是:dbfs:/cluster-logs/<cluster-id>/init_scripts/<cluster-id>_<container-ip>
。
如果叢集設定為將記錄寫入 DBFS,您可以使用文件系統公用程式 (dbutils.fs) 或 DBFS CLI (舊版)來檢視記錄。 例如,如果叢集識別碼為 1001-234039-abcde739
:
dbfs ls dbfs:/cluster-logs/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
dbfs ls dbfs:/cluster-logs/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 指令來操作 list 並檢視日誌。
%sh
ls /databricks/init_scripts/
cat /databricks/init_scripts/<timestamp>_<log-id>_<init-script-name>.sh.stdout.log
每次叢集啟動時,它會將記錄寫入 init 腳本記錄檔資料夾。
重要
建立叢集並啟用叢集記錄傳遞的任何使用者,都可以檢視來自全域 init 腳本的 stderr
和 stdout
輸出。 您應該確定您的全域 init 腳本不會輸出任何敏感性資訊。
診斷記錄中的Init腳本事件
Azure Databricks 診斷記錄會擷取全域 init 腳本,在事件類型 globalInitScripts
下建立、編輯和刪除事件。 請參閱 全域 init 腳本事件。