
在很多情况下,我们需要查看driver和executors在运行 Spark 应用程序时候产生的日志,这些日志对于我们调试和查找问题是很重要的。
Spark 日志确切的存放路径和部署模式相关:
(1)、 如果是Spark Standalone模式 ,我们可以直接在Master UI界面查看应用程序的日志,在默认情况下这些日志是存储在worker节点的work目录下,这个目录可以通过 SPARK_WORKER_DIR 参数进行配置。
(2)、 如果是Mesos模式 ,我们同样可以通过Mesos的Master UI界面上看到相关应用程序的日志,这些日志是存储在Mesos slave的work目录下。
(3)、 如果是YARN模式 ,最简单地收集日志的方式是使用YARN的日志收集工具( yarn logs -applicationId ),这个工具可以收集你应用程序相关的运行日志,但是这个工具是有限制的:应用程序必须运行完,因为YARN必须首先聚合这些日志;而且你必须开启日志聚合功能( yarnlog-aggregation-enable ,在默认情况下,这个参数是false)。
如果你运行在YARN模式,你可以在ResourceManager节点的WEB UI页面选择相关的应用程序,在页面点击表格中 Tracking UI 列的 ApplicationMaster ,这时候你可以进入到Spark作业监控的WEB UI界面,这个页面就是你Spark应用程序的proxy界面,比如 >
其实网上就有,可以借鉴董西成的博客,下面是内容: Hadoop HDFS只有服务日志,与Hadoop MapReduce的服务日志类似; Hadoop MapReduce日志分为两部分,一部分是服务日志,一部分是作业日志,具体介绍如下: 1 Hadoop 1x版本 Hadoop 1x中MapRe。
当任务运行结束后,YARN会把appmaster container任务的日志都上传到HDFS的地址中;每个用户的作业在/tmp/logs下都有自己用户名对应的日志,比如,test用户其作业在HDFS上日志路径为/tmp/logs/test/logs/。
现在公司生产环境一周作业日志量1个PB以上,解决防止作业日志占用大量空间的问题只能通过减少日志存储时间了。
以上就是关于spark日志收集全部的内容,包括:spark日志收集、Yarn和npm命令、yarn logs命令在哪个目录下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)