Skip to content

zhuxt2015/bigdata-diagnostics

Repository files navigation

大数据诊断平台

这是一个诊断大数据生态系统中计算引擎和调度器的平台,旨在提高故障排除的效率并降低问题根因排查的难度 通过脚本定时或者实时收集日志和指标

其主要功能特性如下:

  • 非侵入式,即时诊断,无需修改已有的调度平台,即可体验诊断效果。
  • 支持HDFS文件元数据解析和诊断
  • 支持StarRocks引擎诊断分析
  • 支持多种主流调度平台,例如DolphinScheduler 1.x、2.x和3.x。
  • 支持多版本Spark、MapReduce、Hadoop 2.x和3.x 任务日志诊断和解析。
  • 支持工作流层异常诊断,识别各种失败和基线耗时异常问题。
  • 支持引擎层异常诊断,包含数据倾斜、大表扫描、内存浪费等14种异常类型。

支持组件

  • HDFS
  • StarRocks
  • Spark
  • Mapreduce
  • DolphinScheduler

架构图

这是图片

支持诊断类型

引擎 诊断维度 诊断类型 类型说明
Dolphinscheduler 失败分析 运行失败 最终运行失败的任务
首次失败 重试次数大于1的成功任务
长期失败 最近10天运行失败的任务
耗时分析 基线时间异常 相对于历史正常结束时间,提前结束或晚点结束的任务
基线耗时异常 相对于历史正常运行时长,运行时间过长或过短的任务
运行耗时长 运行时间超过2小时的任务
Spark 报错分析 sql失败 因sql执行问题而导致失败的任务
shuffle失败 因shuffle执行问题而导致失败的任务
内存溢出 因内存溢出问题而导致失败的任务
资源分析 内存浪费 内存使用峰值与总内存占比过低的任务
CPU浪费 driver/executor计算时间与总CPU计算时间占比过低的任务
效率分析 大表扫描 没有限制分区导致扫描行数过多的任务
OOM预警 广播表的累计内存与driver或executor任意一个内存占比过高的任务
数据倾斜 stage中存在task处理的最大数据量远大于中位数的任务
Job耗时异常 job空闲时间与job运行时间占比过高的任务
Stage耗时异常 stage空闲时间与stage运行时间占比过高的任务
Task长尾 stage中存在task最大运行耗时远大于中位数的任务
HDFS卡顿 stage中存在task处理速率过慢的任务
推测执行Task过多 stage中频繁出现task推测执行的任务
全局排序异常 全局排序导致运行耗时过长的任务
MapReduce 资源分析 内存浪费 内存使用峰值与总内存占比过低的任务
效率分析 大表扫描 扫描行数过多的任务
Task长尾 map/reduce task最大运行耗时远大于中位数的任务
数据倾斜 map/reduce task处理的最大数据量远大于中位数的任务
推测执行Task过多 map/reduce task中频繁出现推测执行的任务
GC异常 GC时间相对CPU时间占比过高的任务
HDFS 资源分析 小文件占比 小文件较多的目录或者表
文件冷热占比 冷数据存储较多的目录或者表
历史文件被修改和访问 超过5年的历史文件被修改和访问
StarRocks 资源分析 分桶不合理 tablet size太小或者太大
分区不合理 空分区、过大或者过小的分区
扫描数据量过多 根据执行计划判断扫描数据量过多的查询
查询频次分析 对表按照查询次数排序
导入分析 对导入频次和数据量分析

看板

全链路诊断: 全链路诊断看板1 全链路诊断看板2 全链路诊断看板3 全链路诊断看板4 报错任务诊断: 报错任务看板1

About

大数据任务监控及诊断

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published