问题可能是由于log4j日志记录器未正确配置所导致的。可以在spark-submit命令中指定log4j.properties文件的位置来修复日志记录问题。
示例代码:
log4j.rootLogger=INFO, Console
log4j.logger.org.apache.spark=INFO
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
spark-submit \
--class com.example.MySparkApp \
--master yarn \
--deploy-mode cluster \
--conf spark.executor.instances=4 \
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/path/to/log4j.properties" \
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=file:/path/to/log4j.properties" \
my-spark-app.jar
在以上代码示例中,使用了--conf选项指定了log4j.properties文件的位置。注意需要将/file/to/log4j.properties替换为实际的文件路径。
通过以上步骤,即可修复AWS EMR中使用spark-submit在yarn集群模式下的日志记录问题。