2017-07-10 20 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集成。抱歉 –