本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon EMR Serverless 的 Apache Log4j2 屬性
此頁面說明如何在 設定無EMR伺服器任務的自訂 Apache Log4j 2.xStartJobRun
。如果您想要在應用程式層級設定 Log4j 分類,請參閱 EMR Serverless 的預設應用程式組態。
設定 Amazon EMR Serverless 的 Spark Log4j2 屬性
使用 Amazon 6.8.0 版和更新EMR版本,您可以自訂 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 任務applicationConfiguration
,以自訂 Spark 驅動程式和執行器的 Log4j2 組態。
若要在應用程式層級設定 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 屬性的詳細資訊,請參閱 上的 log4j2.properties.template
檔案