Configurazione delle informazioni relative al livello di log di Spark
esaminare le applicazioni in esecuzione e individuare i problemi presenti utilizzando i log generati dall'applicazione Spark " Analytics Engine powered by Apache Spark ". I livelli di registrazione standard disponibili sono ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL e OFF. Per impostazione predefinita, l'applicazione Spark " Analytics Engine powered by Apache Spark " registra i log a livello INFO di Spark. È possibile configurare il livello di registrazione in modo da visualizzare solo i messaggi rilevanti, riducendo quelli più dettagliati.
La configurazione di registrazione di Analytics Engine powered by Apache Spark definisce il livello di registrazione delle informazioni relative al framework Spark. Ciò non influisce sui log generati dal codice utente tramite comandi quali « logger.info ()», « logger.warn ()», «print()» o «show()» nell'applicazione Spark.
Questa funzione è disponibile solo per le applicazioni Spark. Questa funzionalità non è supportata per le applicazioni interattive Spark né per i kernel Spark.
Configurazione delle opzioni
Configurare i seguenti log di Analytics Engine powered by Apache Spark per impostare il livello di log dell'applicazione Spark:
- Registri del driver Spark (utilizzando
ae.spark.driver.log.level) - Log dell'esecutore Spark (utilizzando
ae.spark.executor.log.level)
Specificare l'opzione nella sezione delle configurazioni di Spark al momento della creazione di un'istanza di Analytics Engine powered by Apache Spark o dell'invio di un'applicazione Spark. È possibile specificare i seguenti valori standard per il livello di log:
- TUTTO
- TRACCIA
- DEBUG
- INFORMAZIONI
- WARN
- ERRORE
- MORTALE
- Disattivo
Il valore predefinito per il livello di log sia del driver che dell'esecutore è INFO.
È possibile applicare la configurazione nei due modi seguenti:
- Configurazione a livello di istanza
- Configurazione a livello di applicazione
Configurazione delle impostazioni relative al livello di log di Spark a livello di istanza
Al momento della configurazione di un'istanza di Analytics Engine powered by Apache Spark, specificare le impostazioni relative al livello di log nell'attributo `default_config`. Per ulteriori informazioni, consultare la sezione "Configurazione predefinita di Spark".
Esempio:
"default_config": {
"ae.spark.driver.log.level": "WARN",
"ae.spark.executor.log.level": "ERROR"
}
Configurazione delle impostazioni relative al livello di log di Spark a livello di applicazione
Al momento dell'invio di un lavoro, specificare le opzioni nel payload alla voce conf. Per ulteriori informazioni, consultare l'applicazione Spark.
Esempio:
{
"conf": {
"ae.spark.driver.log.level":"WARN",
"ae.spark.executor.log.level":"WARN",
}
}
Esempio di caso d'uso
Impostazione del livello di log nella configurazione di Spark a livello di istanza : il caso d'uso di esempio prende in considerazione lo scenario in cui si crea un'istanza di Analytics Engine powered by Apache Spark e si configura il livello di log in modo tale che tutte le applicazioni presenti nell'istanza registrino i log con livello ERROR.
Imposta le seguenti configurazioni come configurazioni predefinite di Spark:
- ae.spark.driver.log.level = ERRORE
- ae.spark.executor.log.level = ERRORE
Dopo aver impostato la configurazione predefinita di Spark, il livello di log per tutte le applicazioni inviate all'istanza viene impostato su
ERROR(a condizione che il payload dell'applicazione non specifichi la configurazione di Spark al momento dell'invio).
Impostazione del livello di log nella configurazione di Spark a livello di job : il caso d'uso di esempio prende in considerazione uno scenario in cui si dispone di un'applicazione e il livello di log è configurato in modo tale che i log vengano registrati a livello INFO. È possibile specificare la configurazione di Spark nel payload. Si consideri il payload di esempio:
curl -k -X POST <V4_JOBS_API_ENDPOINT> -H "Authorization: ZenApiKey ${TOKEN}" -d '{
"application_details": {
"application": "/opt/ibm/spark/examples/src/main/python/wordcount.py",
"arguments": ["/opt/ibm/spark/examples/src/main/resources/people.txt"],
"conf": {
"ae.spark.driver.log.level":"DEBUG",
"ae.spark.executor.log.level":"DEBUG",
}
}
}'
Nel caso d'uso di esempio, l'applicazione Spark sovrascrive il livello di log impostato nella configurazione di Spark a livello di istanza, passando da ERROR a INFO.
Abilitazione della pulizia automatica dei registri della cronologia
È possibile configurare la cronologia di Spark per abilitare la pulizia automatica dei log della cronologia di Spark. La seguente configurazione predefinita attiva automaticamente la pulizia dei dati di log della cronologia risalenti a più di 30 giorni fa. Inoltre, controlla quotidianamente i registri per eliminare quelli più vecchi di 30 giorni.
Esempio:
"default_config": {
"spark.history.fs.cleaner.enabled": "true"
"spark.history.fs.cleaner.interval": "1d"
"spark.history.fs.cleaner.maxAge": "30d"
}