Amazon EMR Serverless에 대한 Apache Log4j2 속성 구성
이 페이지에서는 StartJobRun
에서 EMR Serverless 작업에 대한 사용자 지정 Apache Log4j 2.x
Amazon EMR Serverless에 대한 Spark Log4j2 속성 구성
Amazon EMR 릴리스 6.8.0 이상에서는 Apache Log4j 2.xspark-driver-log4j2
및 spark-executor-log4j2
분류를 사용합니다.
Spark에 대한 Log4j2 분류
Spark 로그 구성을 사용자 지정하려면 applicationConfiguration
에서 다음 분류를 사용합니다. Log4j 2.x 속성을 구성하려면 다음 properties
를 사용합니다.
spark-driver-log4j2
-
이 분류는 드라이버에 대한
log4j2.properties
파일의 값을 설정합니다. spark-executor-log4j2
-
이 분류는 실행기에 대한
log4j2.properties
파일의 값을 설정합니다.
Spark에 대한 Log4j2 구성 예제
다음 예제에서는 Spark 드라이버 및 실행기에 대한 Log4j2 구성을 사용자 지정하기 위해 applicationConfiguration
을 사용해 Spark 작업을 제출하는 방법을 보여줍니다.
작업을 제출할 때 대신 애플리케이션 수준에서 Log4j 분류를 구성하려면 EMR Serverless에 대한 기본 애플리케이션 구성 섹션을 참조하세요.
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" } } ] }'
샘플 Spark 작업의 Log4j2
다음 코드 샘플에서는 애플리케이션에 대한 사용자 지정 Log4j2 구성을 초기화하는 동안 Spark 애플리케이션을 생성하는 방법을 보여줍니다.
Spark에 대한 Log4j2 고려 사항
다음 Log4j2.x 속성은 Spark 프로세스에 대해 구성할 수 없습니다.
-
rootLogger.appenderRef.stdout.ref
-
appender.console.type
-
appender.console.name
-
appender.console.target
-
appender.console.layout.type
-
appender.console.layout.pattern
구성할 수 있는 Log4j2.x 속성에 대한 자세한 내용은 GitHub의 log4j2.properties.template
file