Utilizzo della rotazione del log eventi Spark - Amazon EMR

Utilizzo della rotazione del log eventi Spark

Con Amazon EMR 6.3.0 e versioni successive, è possibile attivare la funzione di rotazione del log eventi Spark per Amazon EMR su EKS. Anziché generare un singolo file di log eventi, questa funzionalità ruota il file in base all'intervallo di tempo configurato e rimuove i file di log eventi meno recenti.

La rotazione del log eventi Spark consente di evitare potenziali problemi con un file di log eventi Spark di grandi dimensioni generato per lunghi processi di streaming o di esecuzione. Supponiamo, ad esempio, di avviare un processo Spark di lunga durata con un log eventi abilitato con il parametro persistentAppUI. Il driver Spark genera un file di log eventi. Se il processo viene eseguito per ore o giorni e lo spazio su disco è limitato nel nodo Kubernetes, il file di log eventi può consumare tutto lo spazio disponibile su disco. Attivando la funzionalità di rotazione del log eventi Spark, il problema viene risolto dividendo il file di log in più file e rimuovendo i file meno recenti.

Nota

Questa funzionalità funziona solo con Amazon EMR su EKS e non è supportata da Amazon EMR su Amazon EC2.

Per attivare la funzionalità di rotazione del log eventi Spark, configura i seguenti parametri Spark:

  • spark.eventLog.rotation.enabled: attiva la rotazione del log. Questa opzione è disabilitata di default nel file di configurazione di Spark. Impostalo su true (vero) per attivare questa funzionalità.

  • spark.eventLog.rotation.interval: specifica l'intervallo di tempo per la rotazione del log. Il valore minimo è di 60 secondi. Il valore predefinito è 300 secondi.

  • spark.eventLog.rotation.minFileSize: specifica una dimensione minima del file per ruotare il file di log. Il valore minimo e predefinito è 1 MB.

  • spark.eventLog.rotation.maxFilesToRetain: specifica il numero di file di log ruotati da mantenere durante la pulizia. L'intervallo consentito è da 1 a 10. Il valore di default è 2.

Puoi specificare questi parametri nella sezione sparkSubmitParameters dell'API di StartJobRun, come illustrato nell'esempio seguente.

"sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi --conf spark.eventLog.rotation.enabled=true --conf spark.eventLog.rotation.interval=300 --conf spark.eventLog.rotation.minFileSize=1m --conf spark.eventLog.rotation.maxFilesToRetain=2"