Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用Spark submit时Spark关闭日志记录_Scala_Apache Spark_Log4j - Fatal编程技术网

Scala 使用Spark submit时Spark关闭日志记录

Scala 使用Spark submit时Spark关闭日志记录,scala,apache-spark,log4j,Scala,Apache Spark,Log4j,我正在运行要提交的scala Spark应用程序vi Spark submit: spark-submit --class "com.foo.bar.MyClass" \ --master yarn \ --driver-memory 1g \ --executor-memory 1g \ --num-executors 2 \ --executor-cores 2 \ --jars &l

我正在运行要提交的scala Spark应用程序vi Spark submit:

spark-submit --class "com.foo.bar.MyClass" \
         --master yarn \
         --driver-memory 1g \
         --executor-memory 1g \
         --num-executors 2 \
         --executor-cores 2 \
         --jars <path-to>/MyJar.jar \
                <path-to>/MyJar.jar
在其他行中,尝试仅抑制单个类

我还将一行输出放在我的Main中,以证明它处于什么水平:

println("Log level = " + LogManager.getRootLogger.getLevel())
它将显示我将值更改为的任何内容。如果我更改上面的setlevel代码行,它总是打印出该值,如果我取出代码行,它将打印SPARK_HOME/conf/log4j.properties文件中的任何内容,如果我添加--conf“SPARK.driver.extraJavaOptions”行,它将显示我在其中输入的内容

总之,我可以更改这些设置中的任何一个,应用程序会打印出日志级别的设置,但不管怎样,我都可以从Spark获得MBs的日志记录

关于如何禁用Spark的所有详细日志记录,还有其他建议吗

  • 从创建log4j-configurations.properties log4j.properties/template
  • 将其添加到conf或configurations下 项目的文件夹
  • 使用将下面的行添加到脚本中 spark提交:


  • println("Log level = " + LogManager.getRootLogger.getLevel())
    
    --conf 'spark.executor.extraJavaOptions=-Dlog4j.configuration=prop/file/location'\
    --conf 'spark.driver.extraJavaOptions=-Dlog4j.configuration=prop/file/location'\