【发布时间】:2020-12-08 22:57:52
【问题描述】:
我想在 EMR 集群中启用 spark.eventLog.compress 以节省日志空间,而不会丢失 spark 历史服务器的功能。我尝试启用配置设置并提交一个基本步骤,但打开历史服务器只显示“未找到已完成的应用程序!”。也没有发现不完整的申请。在 spark.eventLog.compress 设置为 false 的情况下运行相同的集群会显示我期望的应用程序日志。
日志确实在那里并且被压缩
scala> spark.conf.get("spark.history.fs.logDirectory")
res0: String = hdfs:///var/log/spark/apps
scala> :quit
[hadoop@ip-... ~]$ hadoop fs -ls hdfs:///var/log/spark/apps
Found 3 items
-rwxrwx--- 1 hadoop spark 24595 2020-12-07 22:26 hdfs:///var/log/spark/apps/application_1607379760026_0001_1.lz4
-rwxrwx--- 1 hadoop spark 17878 2020-12-07 22:26 hdfs:///var/log/spark/apps/application_1607379760026_0002.lz4
-rwxrwx--- 1 hadoop spark 12190 2020-12-07 22:44 hdfs:///var/log/spark/apps/application_1607379760026_0003.lz4
[hadoop@ip-... ~]$ logout
我还尝试通过关注this answer 来检查来自org.apache.spark.deploy.history.HistoryServer 进程(通过ps aux | grep -i history 找到)的日志
[hadoop@ip-... ~]$ sudo tail -f /proc/25275/fd/1
...
20/12/08 20:46:08 INFO FsHistoryProvider: Parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0002_1.lz4 to re-build UI...
20/12/08 20:46:08 INFO FsHistoryProvider: Finished parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0002_1.lz4
20/12/08 21:01:50 INFO FsHistoryProvider: Parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0003_1.lz4.inprogress for listing data...
20/12/08 21:01:50 INFO FsHistoryProvider: Finished parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0003_1.lz4.inprogress
20/12/08 21:02:00 INFO FsHistoryProvider: Parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0003_1.lz4 for listing data...
20/12/08 21:02:00 INFO FsHistoryProvider: Finished parsing hdfs://ip-...:8020/var/log/spark/apps/application_1607443436753_0003_1.lz4
在我看来,这表明历史服务器应该能够读取它们,但很难说我是否只是错过了一条错误消息或其他什么。 是否可以在启用spark.eventLog.compress 的情况下查看历史服务器中的日志?
【问题讨论】:
-
你能分享你在 $SPARK_HOME/conf/spark_default.conf 中设置的内容以及你的 spark-submit 命令
标签: amazon-web-services apache-spark hadoop amazon-emr