Configure las propiedades de Apache Log4j2 para Amazon EMR sin servidor
Esta página describe cómo configurar las propiedades personalizadas de Apache Log4j 2.xStartJobRun
. Si desea configurar las clasificaciones de Log4j a nivel de aplicación, consulte Configuración predeterminada de aplicación para EMR sin servidor.
Configure las propiedades de Spark Log4j2 para Amazon EMR sin servidor
Con las versiones 6.8.0 y posteriores de Amazon EMR, puede personalizar las propiedades de Apache Log4j 2.xspark-driver-log4j2
y spark-executor-log4j2
.
Temas
Clasificaciones de Log4j2 para Spark
Para personalizar las configuraciones de registro de Spark, utilice las siguientes clasificaciones con applicationConfiguration
. Para configurar las propiedades de Log4j 2.x, utilice la siguientes properties
.
spark-driver-log4j2
-
Esta clasificación establece los valores en el archivo
log4j2.properties
del controlador. spark-executor-log4j2
-
Esta clasificación establece los valores en el archivo
log4j2.properties
del ejecutor.
Ejemplo de configuración de Log4j2 para Spark
En el siguiente ejemplo, se muestra cómo enviar un trabajo de Spark con applicationConfiguration
para personalizar las configuraciones de Log4j2 para el controlador y ejecutor de Spark.
Para configurar las clasificaciones de Log4j a nivel de aplicación, en lugar de al enviar el trabajo, consulte Configuración predeterminada de aplicación para EMR sin servidor.
aws emr-serverless start-job-run \ --application-id application-id \ --execution-role-arn job-role-arn \ --job-driver '{ "sparkSubmit": { "entryPoint": "/usr/lib/spark/examples/jars/spark-examples.jar", "entryPointArguments": ["1"], "sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi --conf spark.executor.cores=4 --conf spark.executor.memory=20g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=1" } }' --configuration-overrides '{ "applicationConfiguration": [ { "classification": "spark-driver-log4j2", "properties": { "rootLogger.level":"error", // will only display Spark error logs "logger.
IdentifierForClass
.name": "classpath for setting logger
", "logger.IdentifierForClass
.level": "info" } }, { "classification": "spark-executor-log4j2", "properties": { "rootLogger.level":"error", // will only display Spark error logs "logger.IdentifierForClass
.name": "classpath for setting logger
", "logger.IdentifierForClass
.level": "info" } } ] }'
Log4j2 en trabajos de Spark de ejemplo
Los siguientes ejemplos de código muestran cómo crear una aplicación de Spark mientras se inicializa una configuración de Log4j2 personalizada para la aplicación.
Consideraciones de Log4j2 para Spark
Las siguientes propiedades de Log4j2.x no se pueden configurar para los procesos de Spark:
-
rootLogger.appenderRef.stdout.ref
-
appender.console.type
-
appender.console.name
-
appender.console.target
-
appender.console.layout.type
-
appender.console.layout.pattern
Para obtener información detallada sobre las propiedades de Log4j2.x que puede configurar, consulte el archivo log4j2.properties.template