监控任务执行状态

监控任务执行

有许多种方式都可以监控Spark任务的状态和查看EMR日志:

  • 使用命令行查看Spark任务日志
  • 在EMR控制台查看YARN 应用程序日志
  • 使用Spark UI查看日志及状态

命令行查看日志

当Spark任务通过spark-submit提交后,日志会显示在控制台。可以将这些输出保存到一个文件中,通过查看该文件来检查执行的状态。例如,上一节提交的任务中,在控制台输出了原始数据的schema:

image-20210430192030365

在任务执行的最后,打印出了NY Taxi数据的总行数:

image-20210430192330853

YARN 应用程序日志

EMR集群上提交的Spark集群以YARN应用程序的形式运行,可以通过应用程序历史记录查看YARN细节。这种方式可以快速的查看应用程序的指标和相关日志,不再需要连接到master节点。

点击应用程序历史记录

image-20210430201042229

应用程序历史记录页面展示了EMR集群上运行过的所有应用:

image-20210430201224935

点击刚运行的任务,在执行程序页面可以查看“stdout” 和 “stderr” 日志:

image-20210430201722374

查看 “stdout” 和 “stderr”日志时会打开新的浏览器页面:

image-20210430201839117

使用Spark UI

在EMR 2.25.0版本之后,可以直接通过点击链接的方式打开Spark UI,不再需要通过SSH设置web代理。Spark history UI提供了任务执行过程中的详细信息。

点击Spark history server, 以打开Spark UI:

image-20210430202450892

image-20210430202656053

选择最近运行任务的APP ID,可以查看不同阶段的日志和DAG:

image-20210430202949299