初始化脚本日志

群集事件日志会捕获 init 脚本的开始和结束事件。 在群集日志中捕获详细信息。 全局 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 Catalog卷 /Volumes/<catalog>/<schema>/<volume>,特定容器的日志路径为: /Volumes/<catalog>/<schema>/<volume>/<cluster-id>/init_scripts/<cluster-id>_<container-ip>。

您可以使用 文件系统工具(dbutils.fs) 或 fs 命令组查看日志。 例如,列出传送到卷1001-234039-abcde739的集群/Volumes/<catalog>/<schema>/<volume>的日志:

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 脚本不输出任何敏感信息。

诊断日志中的 init 脚本事件

Azure Databricks 诊断日志捕获事件类型为 globalInitScripts 的全局初始化脚本的创建、编辑和删除事件。 请参阅全局初始化脚本事件。