翻译: https://www.cloudera.com/documentation/enterprise/latest/topics/operation_spark_applications.html#spark_monitoring
版本: 5.14.2
使用日志查看和调试Spark应用程序
要查看有关所有正在运行的Spark应用程序的概述信息,请根据您使用的是哪个群集管理器执行以下操作之一:
-
YARN - 转到Cloudera Manager管理控制台中的YARN应用程序页面。
要调试运行在YARN上的Spark应用程序,请查看NodeManager角色的日志:
Spark Standalone - 转到Spark Master UI,默认为 http://spark_master:18080. 。显示集群中Master 和每个worker工作统计信息。另外,每个作业的详细日志输出也被写入每个工作者的工作目录。
使用Web应用程序UI可视化Spark应用程序
每个Spark应用程序都会启动一个Web应用程序UI,以显示有关应用程序的有用信息
- 事件时间线,显示应用程序事件的相对排序和交错。时间表视图有三个层次:跨所有作业,在一个作业中,在一个阶段中。时间表还显示执行者分配和释放。
- 阶段和任务的列表。
- 执行指导每个作业的非循环图(DAG)。
- RDD大小和内存使用情况的摘要。
- 环境 - 运行时信息,属性设置,库路径。
- 有关Spark SQL作业的信息。
根据应用程序是否正在运行或已完成,Web UI有不同的可用方式。
继续阅读:
- 访问正在运行的Spark应用程序的Web UI
- 访问完成的Spark应用程序的Web UI
- Spark Application Web应用程序示例
- 示例Spark SQL Web应用程序
- 示例Spark Streaming Web应用程序
访问正在运行的Spark应用程序的Web UI
要访问正在运行的Spark应用程序的Web应用程序UI,请打开 http://spark_driver_host:4040 。如果多个应用程序在同一主机上运行,则Web应用程序将绑定到以4040开头的连续端口(4041,4042等)。Web应用程序仅在应用程序的持续时间内可用。
访问完成的Spark应用程序的Web UI
要访问已完成的Spark应用程序的Web应用程序UI,请执行以下操作:
- 采用以下方式之一打开Spark历史记录服务器 UI:
- 打开网址 http://spark_history_server_host:18088。
- 在Cloudera Manager管理控制台中打开UI:
- 转到Spark服务。
- 单击历史记录服务器Web UI链接。历史服务器显示已完成的应用程序的列表。
- 在应用程序列表中,点击应用程序ID链接。应用程序UI显示。
注意:在CDH 5.10及更高版本以及Apache Spark 2的Cloudera Distribution中,Spark历史记录服务器的存储选项卡始终为空。要在应用程序运行时查看存储信息,请使用前一部分所述的应用程序的Web UI。应用程序完成后,存储信息不可用。
Spark Application Web应用程序示例
考虑一个作业,其中包含一组转换,用于将账户数据集中的数据与weblogs数据集连接起来,以确定每个账户的Web点击总数,然后将结果写入HDFS。在这个例子中,写入被执行两次,导致两个作业。要查看应用程序UI,请在历史记录服务器中单击App ID列中的链接:
以下屏幕截图显示了应用程序中事件的时间线,包括运行的作业以及执行程序的分配和取消分配。每项工作都显示最后一项行动,saveAsTextFile 。时间表显示应用程序在运行第一份工作的过程中获取执行者。第二项工作完成后,执行程序变为空闲并返回到群集。
您可以如下操作时间线:
- 平移 - 按住鼠标左键并左右滑动。
- 缩放 - 选中启用缩放复选框并上下滚动鼠标。
要查看作业0的详细信息,请单击“描述”列中的链接。以下屏幕截图显示了作业0和DAG可视化中每个阶段的详细信息。放大显示细分从28到42秒的更细节:
点击一个stage会显示更多细节和指标:
作业1的网页显示了如何跳过前面的阶段,因为Spark保留了这些阶段的结果:
示例Spark SQL Web应用程序
除上述屏幕外,使用Spark SQL API的应用程序的Web应用程序UI还具有一个SQL选项卡。考虑一个应用程序,它将两个表的内容加载到一对DataFrame中,加入这些表,然后显示结果。在您单击应用程序ID后,SQL选项卡显示查询中的最终操作:
如果你点击show 链接你看到工作的DAG。单击此页面上的详细信息链接将显示逻辑查询计划:
示例Spark Streaming Web应用程序
Spark Web应用程序UI还支持在“ 流式”选项卡中显示流式应用程序的行为。如果运行Spark Streaming示例中描述的 示例,并提供三个数据突发,则选项卡的顶部会显示一系列汇总流应用程序整体行为的统计信息的可视化对象:
该应用程序有一个接收器处理3个事件批处理,这可以在事件,处理时间和延迟图中观察到。在页面的下方,您可以查看单个批次的详细信息:
要查看特定批次的详细信息,请单击“ 批次时间”列中的链接。点击该批次中包含8个事件的2016/06/16 14:23:20链接,提供以下详细信息: