2017-07-10 86 views
0

打開調試模式後,我正在EMR上運行一個spark任務(yarn,cluster-mode,transient - 集羣在作業完成後關閉)。所有的火花日誌上傳到S3的預期,但我不能上傳自己的自定義日誌... 使用log4j的,我想給他們寫了如下因素路徑acording火花DOC log4j.appender.algoLog.File=${spark.yarn.app.container.log.dir}/algoLog.log來自aws EMR的spark定製用戶日誌

好像該變量是未定義的。它試圖直接寫入根目錄。 /algoLog.log。 如果我將它寫入其他任意位置。它只是不會出現在S3上。 如果我希望EMR在羣集關閉後將它們上傳到s3,我應該在哪裏寫自己的日誌文件?

+0

您正在使用哪個Spark版本? –

+0

EMR版本5.5.0,Spark 2.1.0 – NetanelRabinowitz

回答

0

Log4J未設置爲寫入對象存儲;它的文件系統概念是不同的。

可能能夠得到紗的日誌收集去做。請參閱How to keep YARN's log files?

+0

我沒有嘗試給log4j s3路徑。我試圖給它本地路徑,我期待EMR將這些文件傳送到它的s3日誌桶中。 – NetanelRabinowitz

+0

這不是我玩過的東西;我知道YARN日誌記錄旨在收集來自整個羣集的數據併爲其提供查看...雖然即使在那裏我也不瞭解s3集成。抱歉 –