Configuração das propriedades do Apache Log4j2 para o Amazon EMR Sem Servidor
Esta página descreve como configurar propriedades personalizadas do Apache Log4j 2.xStartJobRun
. Caso queira configurar as classificações do Log4j no nível da aplicação, consulte Configuração padrão de aplicações do EMR Sem Servidor.
Configuração das propriedades do Log4j2 do Spark para o Amazon EMR Sem Servidor
Com as versões 6.8.0 e posteriores do Amazon EMR, você pode personalizar as propriedades do Apache Log4j 2.xspark-driver-log4j2
e spark-executor-log4j2
.
Tópicos
Classificações do Log4j2 para o Spark
Para personalizar as configurações de log do Spark, use as classificações a seguir com applicationConfiguration
. Para configurar as propriedades do Log4j 2.x, use as properties
a seguir.
spark-driver-log4j2
-
Essa classificação define os valores no arquivo
log4j2.properties
do driver. spark-executor-log4j2
-
Essa classificação define os valores no arquivo
log4j2.properties
do executor.
Exemplo de configuração do Log4j2 para o Spark
O exemplo a seguir mostra como enviar um trabalho do Spark com applicationConfiguration
para personalizar as configurações do Log4j2 para o driver e o executor do Spark.
Para configurar as classificações do Log4j no nível da aplicação, em vez de quando você envia o trabalho, consulte Configuração padrão de aplicações do EMR Sem 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 em exemplos de trabalhos do Spark
Os exemplos de código a seguir demonstram como criar uma aplicação do Spark enquanto você inicializa uma configuração personalizada do Log4j2 para a aplicação.
Considerações sobre o Log4j2 para o Spark
As seguintes propriedades do Log4j2.x não são configuráveis para processos do Spark:
-
rootLogger.appenderRef.stdout.ref
-
appender.console.type
-
appender.console.name
-
appender.console.target
-
appender.console.layout.type
-
appender.console.layout.pattern
Para obter informações detalhadas sobre as propriedades do Log4j2.x que você pode configurar, consulte o arquivo log4j2.properties.template