日志说明
Spark 作业日志的存储位置与查看方式如下:
1、Driver 日志:client 模式直接输出到提交端终端;cluster 模式运行在 YARN ApplicationMaster 中,通过 yarn logs -applicationId <appId> 查看;
2、Executor 日志:运行在各 NodeManager 的 Container 中,通过 yarn logs -applicationId <appId> -log_files stdout 聚合查看,或在 YARN Web UI 的 application 页面点击节点日志链接查看;
3、事件日志:spark.eventLog.enabled=true 时记录到 spark.eventLog.dir 目录,供 History Server 回放;
4、进程日志:本集群 Spark 相关服务日志位于 /var/log/spark 目录。
Web UI 与 History Server
1、应用 Web UI:作业运行期间在 http://<driver-host>:4040 提供 Jobs/Stages/Storage/Executors/SQL 等页签,同一进程顺序提交多个作业端口从 4040 递增;
2、Spark History Server:通过 $SPARK_HOME/sbin/start-history-server.sh 启动,读取事件日志目录回放已完成作业,默认端口 18080;
3、YARN Web UI:查看 application 列表、队列资源与 Container 状态,是作业排队与资源问题排查的第一入口。
服务状态检查
常用检查命令如下:
yarn application -list # 查看运行中的作业
yarn application -status <appId> # 查看指定作业状态
yarn logs -applicationId <appId> # 聚合查看作业日志
yarn node -list # 查看节点资源状态注意
Spark on YARN 模式下 Spark 自身无常驻服务,Spark 进程随作业创建与销毁;仅需保障 History Server 常驻用于作业回放。