《OPPO大数据诊断平台设计与实践.pdf》由会员分享,可在线阅读,更多相关《OPPO大数据诊断平台设计与实践.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、2023 DataFunConOPPO大数据诊断平台设计与实践演讲人:戴巍-OPPO-数据平台架构师目录背景技术方案实践效果总结与规划Contents01 背景背景/OPPO大数据现状数据量:1EB+系统组件:20+离线任务:百万实时任务:数千数据分析师/开发师1000+数据开发人员水平参差不齐,问题排查难任务链路长,组件众多,运维复杂僵尸任务和不合理任务治理难度大背景/业界产品对比开源产品 Dr.Elephant 分析01020102LinkedIn由LinkedIn开发并开源。旨在提高开发人员效率和增加集群任务调试的高效性支持多种计算引擎支持多个计算引擎框架性能诊断:Spark、Tez、M
2、apReduce、TonY等03支持多种调度框架集成多个调度器框架如:Azkaban、Airflow、Oozie等04分析报告统计历史作业和工作流的性能指标Job级别工作流对比新版本兼容性不好支持Spark,Hadoop系统版本比较低,对于新版本Spark,Hadoop兼容性不好诊断指标少支持的Spark相关指标仅4个诊断手段少不支持日志级别问题诊断不支持异常资源的管理稳定性风险对Spark History服务接口频繁调用影响History服务的稳定性030402 技术方案技术方案/平台特性1非侵入式,即时诊断,无需修改已有的调度平台,即可体验诊断效果2支持 OPPO 自研调度平台及多种主流调
3、度平台,如DolphinScheduler、Airflow 等,进行工作流层异常诊断3支持多版本 Spark、Flink、Hadoop 2.x 和 3.x 任务诊断4支持 40+场景异常类型判定,并在不断丰富调度平台计算引擎诊断规则交互SparkFlinkOFlowAirFlowDolphinScheduler效率分析成本分析稳定性分析.Web UIHttp API5支持自定义规则编写和异常阈值调整,可自行根据场景调整应用交互查询任务调度数据治理技术方案/系统架构外部系统适配层诊断架构层基础组件层调度器、Yarn、HistoryServer、HDFS等系统,同步元数据、集群状态、运行环境状态、
4、日志等到诊断系统分析包括数据采集、元数据关联&模型标准化、异常检测、诊断Portal模块包括MySQL、ElasticSearch、Kafka、Redis等组件技术方案/流程阶段数据采集阶段1数据关联&模型标准化阶段2工作流层&引擎层异常检测阶段3同步调度系统用户、DAG、执行记录等工作流元数据;同步Yarn ResourceManager、Spark HistoryServer App、Flink作业元数据等将分步采集的工作流执行记录、Spark App、Yarn App、Flink Job、集群运行环境配置等数据通过AppID介质进行关联,整理为数据标准模型进一步Workflow异常检测流
5、程,加载知识库到标准模型,通过启发式规则,对指标数据、日志进行异常挖掘,结合集群状态及运行时状态,分析工作流层、引擎层异常结果技术方案/流程阶段业务视图4存储、分析数据,提供给用户任务概览、工作流层任务诊断、引擎层作业Application诊断,工作流层展示调度器执行任务引发的异常,如任务失败、回环任务、基线偏离任务等问题,计算引擎层展示Spark、Flink作业执行引发的耗时、资源使用、运行时问题03 实践效果统 一简 洁实践效果/交互设计直 观用户可以一眼看到关心的任务问题所在,并能给出指导性处理建议实践效果/诊断类型丰富针对离线、实时任务的健康度诊断支持40+场景异常类型判定效率分析长尾
6、Task分析HDFS卡顿分析推测执行过多分析全局排序异常分析.耗时分析基线时间异常基线耗时异常运行耗时长.稳定性分析全表扫描问题数据倾斜分析Shuffle失败分析内存溢出.成本分析CPU浪费分析内存浪费分析.实践效果/效率分析案例长尾Task分析长尾任务是由于作业运行过程中,一个Task或多个Task单元执行时间过长,拖延整个任务运行时间从时间角度计算,执行时间过长原因在于Task读取数据量多或者数据读取慢。如果读取数据过多,那么将出现数据倾斜,按数据倾斜方式处理;如果读取数据过慢,那么可能是HDFS集群节点负载高或网络丢包问题等实践效果/成本分析案例CPU浪费分析Spark Driver/E
7、xecutor cores参数配置不合理导致CPU空闲浪费通过Spark Application采集指标,分析Spark Driver、Spark Executor执行过程中的CPU的运行时间(单位:vcoresecond)占比,如果空闲时间超过一定的比例,判定为浪费,用户根据比例降低启用CPU数量实践效果/稳定性分析案例SQL常见问题分析SQL执行过程中没权限、表不存在、语法错误等根据SQL失败特征从指标数据或者日志提取,用户根据问题去申请相应权限、创建表或者修正语法问题实践效果/实时分析案例资源利用率分析Flink参数设置不合理导致资源浪费根据Flink作业运行时上报的指标,计算判断CPU
8、利用率是否过低,并给出建议参数调整值实践效果/降本增效数据治理成本口径统计异常任务、不合理任务分析通过长期推进治理,可以看出成本趋势,用户聚焦的任务问题得以改善04 总结与规划总结与规划OPPO大数据诊断平台主要围绕调度引擎和计算引擎两方面进行智能化定位分析,为用户快速处理优化任务,为企业降本增效技术方面采用非入侵方案对接其他系统,保证了其他系统的安全性系统架构基于启发式规则定位和分析问题方式,但知识库比较依赖人员经验,计划引入数据挖掘算法扩大检测范围,智能化诊断支持Spark、Flink任务问题诊断,除OPPO自研调研平台外,还支持DolphinScheduler、Airflow等开源调度平台总结与规划罗盘Compass为了回馈开源社区,并希望更多人参与进来,共同解决任务诊断的痛点和难题,我们现已将该项目开源,命名为“罗盘”回馈社区支持多种主流调度平台,例如 DolphinScheduler、Airflow 等支持多版本 Spark、Hadoop 2.x 和 3.x 任务日志诊断和解析版本特性支持引擎层异常诊断,包含数据倾斜、大表扫描、内存浪费等14 种异常类型支持各种日志匹配规则编写和异常阈值调整,可自行根据实际场景优化https:/ DataFunCon感谢您的观看 THANKS 演讲人:戴巍-OPPO-数据平台架构师