-
spark.log
:记录作业运行日志,包括Spark框架内部日志和用户通过日志接口输出的日志。- executor 启动结束日志:
- job,stage,task提交结束日志:
- executor 启动结束日志:
-
pmap.log
:周期性地截取Driver或Executor的pmap
和jstack
日志。- 包括RSS指标来查看进程占用的物理内存情况:
- 包括RSS指标来查看进程占用的物理内存情况:
-
以及用
threaddump
来排查程序是否卡住或执行缓慢等问题。
-
gc.log
:利用GC(垃圾回收)日志来定位Driver或Executor是否存在内存问题。 -
stdout
:通过print
或System.out
方式打印的日志,此功能默认是关闭的。 -
stderr
:通过System.err
打印的日志,PySpark的日志输出也会出现在stderr
中。 -
launch-container-log
:提供了查看当前Executor所在Container的文件和Executor的环境变量等功能。 -
directory.info
:包含了当前依赖的jar包信息。 -
Driver log
驱动程序(Driver)日志在正常情况下,最终会打印出应用程序状态和作业执行状态,特殊情况说明:- 如果作业被手动终止(kill),可能不会有最终的作业状态记录。
- 如果作业因为Driver的内存溢出(Driver OOM,即Out of Memory)导致失败,日志可能会突然停止,没有应用程序状态和作业状态记录。在这种情况下,可以通过Yarn UI查看Yarn的诊断信息,或者参考GC日志来进一步分析问题。
正常结束的作业:
执行失败的:
Executor log
Task 正常执行:
Task异常执行(例如shuffle fetch 失败):