Spark on Yarn模式下在Spark Web UI上无法看到Spark应用程序执行的过程日志,这样在前期开发调试程序的时候很不方便.本文简单记录一下如何在Spark on Yarn模式下配置WebUI日志记录.
1.修改spark-defaults.conf
spark.eventLog.enabled设置true开启日志记录.
spark.eventLog.dir存储日志路径,Application在运行过程中所有的信息均记录在该属性指定的路径下,我这里设置的是hdfs路径.(也可以是本地路径如file:///val/log/sparkEventLog).
spark.yarn.historyServer.address设置History Server的地址和端口,这个链接将会链接到YARN检测界面上的Tracking UI.
spark.history.fs.logDirectory日志目录和spark.eventLog.dir保持一致,Spark History Server页面只展示该指定路径下的信息.
spark.eventLog.compress是否压缩记录Spark事件信息,前提spark.eventLog.enabled为true,默认使用的是snappy.
2.修改spark-env.sh
spark.history.retainedApplications设置在History Server显示的Application历史记录个数,如果超过这个值,旧的应用程序信息将被删除.
3.在Yarn ResourceManager Web UI中的Tracking UI点击ApplicationMaster即可链接到Spark Web UI 日志信息页面