2016-11-15 111 views
2

我從我自己的工作站上的pycharm啓動pyspark應用程序到8個節點集羣。此羣集還具有spark-defaults.conf和spark-env.sh中編碼的設置。如何設置默認火花日誌記錄級別?

這就是我如何獲取我的spark上下文變量。

spark = SparkSession \ 
     .builder \ 
     .master("spark://stcpgrnlp06p.options-it.com:7087") \ 
     .appName(__SPARK_APP_NAME__) \ 
     .config("spark.executor.memory", "50g") \ 
     .config("spark.eventlog.enabled", "true") \ 
     .config("spark.eventlog.dir", r"/net/share/grid/bin/spark/UAT/SparkLogs/") \ 
     .config("spark.cores.max", 128) \ 
     .config("spark.sql.crossJoin.enabled", "True") \ 
     .config("spark.executor.extraLibraryPath","/net/share/grid/bin/spark/UAT/bin/vertica-jdbc-8.0.0-0.jar") \ 
     .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer") \ 
     .config("spark.logConf", "true") \ 
     .getOrCreate() 

    sc = spark.sparkContext 
    sc.setLogLevel("INFO") 

我想查看我的日誌中正在使用的有效配置。這條線

 .config("spark.logConf", "true") \ 

應引起火花API來其有效配置日誌日誌爲INFO,但默認的日誌級別設置爲警告,因此我沒有看到任何消息。

設置此行

sc.setLogLevel("INFO") 

顯示INFO消息前進,但它那時爲時已晚。

如何設置火花啓動的默認日誌記錄級別?

+3

[如何停止的消息顯示火花控制檯上?(https://stackoverflow.com/questions/27781187/how-to-stop-messages-displaying-on-spark-console) –

回答

1

http://spark.apache.org/docs/latest/configuration.html#configuring-logging

配置日誌

星火使用log4j進行日誌記錄。 您可以通過在conf目錄中添加log4j.properties文件來對其進行配置。開始的一種方法是複製位於那裏的現有log4j.properties.template。


關於「如何登錄火花」 https://www.mapr.com/blog/how-log-apache-spark以下博客提出一個方法來配置log4j,並提供建議,其中包括引導INFO級別的日誌到一個文件中。

+0

確定的可能的複製,這個設置是這樣嗎? log4j.logger.org.apache.spark.repl.Main = INFO – ThatDataGuy

+0

@ThatDataGuy - 添加信息如何配置log4j(並測試確實輸出文件保存「INFO」級日誌)。請注意,示例配置直接指向/ var/log - 您需要將日誌定向到可寫入運行火花的用戶的目錄 – Yaron