Registrazione degli script Init

Gli eventi di avvio e fine dello script Init vengono acquisiti nei registri eventi del cluster. I dettagli vengono acquisiti nei log del cluster. Gli eventi di creazione, modifica ed eliminazione di script init globali vengono acquisiti anche nei log di diagnostica a livello di account.

Eventi dello script di inizializzazione

I registri eventi del cluster acquisiscono due eventi di script init: INIT_SCRIPTS_STARTED e INIT_SCRIPTS_FINISHED, che indicano quali script sono pianificati per l'esecuzione e quali sono stati completati correttamente. INIT_SCRIPTS_FINISHED acquisisce anche la durata di esecuzione.

Gli script di inizializzazione globali sono indicati nei dettagli dell'evento di log dalla chiave "global", mentre gli script di inizializzazione con ambito cluster sono indicati dalla chiave "cluster".

Nota

I registri eventi del cluster non registrano gli eventi di script init per ogni nodo del cluster; è selezionato un solo nodo per rappresentarli tutti.

Dove vengono scritti i log degli script init?

Se per un cluster è configurata la consegna dei log del cluster, i log degli script di inizializzazione vengono scritti in /<cluster-log-path>/<cluster-id>/init_scripts.

I log per ogni contenitore nel cluster vengono scritti in una sottodirectory denominata init_scripts/<cluster-id>_<container-ip>.

Ad esempio, se il percorso dei log è impostato sul volume /Volumes/<catalog>/<schema>/<volume>del Catalogo Unity , il percorso verso i log per un contenitore specifico sarebbe: /Volumes/<catalog>/<schema>/<volume>/<cluster-id>/init_scripts/<cluster-id>_<container-ip>.

Puoi visualizzare i log usando l'utilità del sistema file (dbutils.fs) o il fs gruppo di comandi. Ad esempio, per elencare i log per il cluster 1001-234039-abcde739 consegnato al volume /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

Quando il recapito dei log del cluster non è configurato, i log vengono scritti in /databricks/init_scripts. È possibile usare i comandi della shell standard in un notebook per elencare e visualizzare i log:

%sh
ls /databricks/init_scripts/
cat /databricks/init_scripts/<timestamp>_<log-id>_<init-script-name>.sh.stdout.log

Ogni volta che viene avviato un cluster, scrive un log nella cartella di log dello script init.

Importante

Qualsiasi utente che crea un cluster e abilita la distribuzione dei log del cluster può visualizzare l'output stderr e stdout degli script di inizializzazione globali. È necessario assicurarsi che gli script init globali non restituisca informazioni riservate.

Eventi degli script di inizializzazione nei registri di diagnostica

I log di diagnostica di Azure Databricks registrano gli eventi di creazione, modifica ed eliminazione degli script di inizializzazione globali nel tipo di evento globalInitScripts. Vedi eventi degli script di inizializzazione globali.