Configuración de la información de nivel de registro de Spark
Revise las aplicaciones que se ejecutan e identifique los problemas que están presentes utilizando los registros que genera la aplicación Spark IBM Analytics Engine. Los niveles de registro estándar disponibles son ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL y OFF. De forma predeterminada, la aplicación Spark Analytics Engine registra el nivel de registro WARN para controladores spark y OFF para ejecutores spark. Puede configurar el nivel de registro para visualizar mensajes relevantes y menos mensajes detallados.
La configuración de registro de IBM Analytics Engine configura la información de nivel de registro de la infraestructura de Spark. No afecta a los registros escritos por el código de usuario utilizando mandatos como 'logger.info()', 'logger.warn()', 'print () ', or'show ()' en la aplicación Spark.
Configuración de opciones
Configure los siguientes registros de IBM Analytics Engine para configurar el nivel de registro de la aplicación Spark:
- Registros del controlador Spark (utilizando
ae.spark.driver.log.level
) - Registros de ejecutor de Spark (utilizando
ae.spark.executor.log.level
)
Especifique la opción en la sección de configuraciones de Spark en el momento de suministrar una instancia de IBM Analytics Engine o de enviar una aplicación Spark. Puede especificar los siguientes valores de nivel de registro estándar:
- TODOS
- RASTREO
- DEPURACIÓN
- INFORMACIÓN
- AVISO
- ERROR
- FATAL
- APAGADO
El valor predeterminado para el nivel de registro del controlador es WARN
y el nivel de registro del ejecutor es OFF
.
Puede aplicar la configuración de las dos maneras siguientes:
- Configuración de nivel de instancia
- Configuración de nivel de aplicación
Configuración de la información de nivel de registro de Spark a nivel de instancia
En el momento de suministrar una instancia de IBM Analytics Engine, especifique las configuraciones de nivel de registro bajo el atributo default_config. Para obtener más información, consulte Configuración de Spark predeterminada.
Ejemplo:
"default_config": {
"ae.spark.driver.log.level": "WARN",
"ae.spark.executor.log.level": "ERROR"
}
Configuración de la información de nivel de registro de Spark a nivel de aplicación
En el momento de enviar un trabajo, especifique las opciones en la carga útil bajo conf
. Para obtener más información, consulte API REST de aplicación Spark.
Ejemplo:
{
"conf": {
"ae.spark.driver.log.level":"WARN",
"ae.spark.executor.log.level":"WARN",
}
}
Caso de uso de ejemplo
Establecer la configuración de Spark a nivel de registro en un nivel de instancia: el caso de uso de ejemplo considera el escenario en el que se suministra una instancia de IBM Analytics Engine y configura el nivel de registro de forma que todas las aplicaciones del registro de instancia tengan un error.
-
Establezca las configuraciones siguientes como configuraciones Spark predeterminadas:
- ae.spark.driver.log.level = ERROR
- ae.spark.executor.log.level = ERROR
Después de establecer la configuración de Spark predeterminada, el nivel de registro para todas las aplicaciones que se envían a la instancia se establece en
ERROR
(siempre que la carga útil de la aplicación no especifique la configuración de Spark durante el envío).
Establecimiento de la configuración de Spark a nivel de registro a nivel de trabajo: el caso de uso de ejemplo considera un escenario en el que tiene una aplicación y el nivel de registro configurado de forma que los registros se registran a nivel INFO. Puede especificar la configuración de spark en la carga útil. Considere la carga útil de ejemplo:
{
"application_details": {
"application": "cos://<application-bucket-name>.<cos-reference-name>/my_spark_application.py",
"arguments": ["arg1", "arg2"],
"conf": {
"spark.hadoop.fs.cos.<cos-reference-name>.endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
"spark.hadoop.fs.cos.<cos-reference-name>.access.key": "<access_key>",
"spark.hadoop.fs.cos.<cos-reference-name>.secret.key": "<secret_key>",
"spark.app.name": "MySparkApp",
"ae.spark.driver.log.level":"INFO",
"ae.spark.executor.log.level":"INFO",
}
}
}
En el caso de uso de ejemplo, la aplicación Spark altera temporalmente la configuración de Spark de nivel de registro establecida a nivel de instancia, es decir, ERROR a INFO.