hadoop - spark2-shell 中的 Log4j

标签 hadoop apache-spark apache-spark-sql spark-streaming bigdata

我正在通过 spark2-shell -i 选项运行其中一个 spark 脚本。

我想使用 log4j 框架将生成的日志重定向到一个文件。

我曾经运行的命令:

spark2-shell --master yarn --deploy-mode client -i audit.scala --conf spark.driver.args="PROD sample.txt" --files /bigdata/datalakes/app/log/log4j.properties#log4j.properties --conf spark.driver.extraJavaOptions='-Dlog4j.configuration=file:/bigdata/datalakes/app/log/log4j.properties'

这是 /bigdata/datalakes/app/log/log4j.properties 的内容:

    # Root logger option
    log4j.rootLogger=INFO, file
    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    #Redirect to Tomcat logs folder
    #log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
    log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
    log4j.appender.file.MaxFileSize=10MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

最佳答案

您可以将其作为配置选项提供给 spark。

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties" 

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties"

希望这对您有所帮助。

干杯!

关于hadoop - spark2-shell 中的 Log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46278770/

相关文章:

apache-spark - 如何从 HDFS 中的数据创建 EXTERNAL Spark 表

apache-spark - 如何强制 Spark SQL 进入代码生成模式?

scala - 如何在 Spark SQL 中合并两行?

hadoop - 如何禁用 Hadoop Kerberos

java - hadoop 中 map 阶段之后的 reduce 阶段如何工作

Hadoop - map-reduce 任务如何知道要处理文件的哪一部分?

python - 如何从 'pyspark.sql.types.Row' 获取所有列/属性名称?

python - Pandas 通过在两个不同的数据帧/pandas 中选择多个列来创建条件列

apache-spark - 使用 Parquet 格式附加 Apache Spark 中列的描述

mongodb - hadoop mongodb连接器构建失败