一种Spark程序运行指标的采集与任务诊断实现方式
一种Spark程序运行指标的采集与任务诊断实现方式
编写时间:2023年8月2日
第一次校准时间:2023年8月2日
文章目录
- 一种Spark程序运行指标的采集与任务诊断实现方式
- 数据链路
- 采集器的类图
- CustomSparkListener采集的指标
- task相关
- stage相关
- Job相关
- Executors相关
- 诊断
- 诊断分类
- 调度阶段诊断
- 周期性诊断
- 应用结束诊断
- 诊断报告
- 附录 Spark程序的运行监听器
- **SparkListener**
- **StreamingListener**接口
数据链路
spark-metrics-collector.jar
作为Spark运行扩展包部署在Spark上,在Spark程序运行时,在SparkContext
中将CustomSparkListener
监听器注册到listenerBus中。进行任务的跟踪、指标采集与诊断。同理在StreamingContext
中将CustomStreamingListener
监听器注册到StreamingListenerBus中,对流式任务的跟踪、指标采集与诊断。- 通过监听器将程序运行是的相关指标进行采集、诊断后发送到指标的统一接收端(DMA),做数据删选后,写入对应的Kafka的Topic中。
- 通过消费对应的Topic,将相关数据存入分析系统中。
采集器的类图
离线任务采集