我正在运行要提交的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
我已经尝试了几乎我能想到或找到here,here,here和here等log4j的每个配置。我在代码中添加了以下几行:
Logger.getRootLogger().setLevel(Level.WARN)
在其他方面,试图压制个别类。
我还在我的Main中添加了一行输出来证明它的级别:
println("Log level = " + LogManager.getRootLogger.getLevel())
它将显示我更改值的任何内容。如果我更改上面的setlevel代码行,它总是打印出该值,如果我取出代码行,它将打印我在SPARK_HOME / conf / log4j.properties文件中的任何内容,如果我添加了 - conf&#34; spark.driver.extraJavaOptions&#34;它会显示我放在那里的东西。
最重要的是,我可以更改任何这些设置,应用程序会打印出日志级别的设置,但无论如何,我都会从Spark获取MB的日志记录。
有关如何禁用Spark的所有详细日志记录的任何其他建议?
答案 0 :(得分:1)
--conf 'spark.executor.extraJavaOptions=-Dlog4j.configuration=prop/file/location'\
--conf 'spark.driver.extraJavaOptions=-Dlog4j.configuration=prop/file/location'\