Spark大数据分析平台架构_第1页
Spark大数据分析平台架构_第2页
Spark大数据分析平台架构_第3页
Spark大数据分析平台架构_第4页
Spark大数据分析平台架构_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Spark 大数据分析平台架构大数据计算平台架构Spark平台化遇到的问题Spark自动化分析和故障诊断大数据计算平台架构StormLibra SQLESYARNHiveSpark CoreFlinkSpark StreamingSpark SQL离线计算流式计算OLAP引擎DruidSQL(Spark SQL)Spark MLlib平台化工具大数据计算平台架构CBT调度平台:为Spark、Spark SQL、Hive等离线任务提供任务流 的配置、管理以及调度能力。大数据计算平台架构SSMP平台:针对Spark Streaming提供任务托管、资源托管以及 监控报警的能力,为App 24小时L

2、ong Running提供稳定性保证。大数据计算平台架构机器学习平台:基于Spark MLlib、 GraphX和Streaming构建的在 线机器学习平台,实现模型训练、调优、发布的统一。大数据计算平台架构任务类型2016Q4任务数2017年Q2任务数Hive任务10,682个18,765个Spark/Spark SQL任务250个3000个Spark Streaming任务0个29个集群规模:Yarn集群700节点; 任务规模:5W 任务/天;处理的数据量:300TB/天;现状:Spark应用越来越广泛大数据计算平台架构Spark平台化遇到的问题Spark自动化分析和故障诊断Spark平台

3、化遇到的问题对Spark SQL的认识不够,导致过度的依赖Spark RDD层面的API。对内存计算存在误解,不合理使 用Cache机制,导致资源浪费。不合理的Map、Reduce并发度设 置,导致任务计算效率低,或导 致任务调度Overhead过高,并产 生过多小文件。业务方面平台未提供数据来指导用户去优 化Executor个数以及内存参数, 导致平台资源利用率过低。平台未提供数据来指导用户发现 并解决任务执行过程中,存在的 数据倾斜、HDFS Commit阻塞, 及CPU,内存,网络资源瓶颈等 各种问题。平台方面Spark平台化过程中,我们遇到很多问题:Spark平台化遇到的问题收集数据解

4、决问题分析 经验知识 系统给业务App提供 指标分析和事件 分析能力。实时 系统支持对正在运 行的App进行数 据采集、状态 分析,以及实 时故障诊断。知识 系统将平台积累下来的 经验进行代码化, 为后续App提供自 动化分析工具平台化大数据计算平台架构Spark平台化遇到的问题Spark自动化分析和故障诊断Spark自动化分析和故障诊断华佗Spark App自动化分析和故障诊断系统工具将运维的经验和知识 工具化,并配合指标 和事件两种信息,来对任务进行分析和故障诊断Spark自动化分析和故障诊断Service-AgentHuatuo ClientHostHostJMX-CollectHDFS

5、YarnHuatuo ServerES事件存储Druid指标存储Huatuo监控平台指标分析事件分析故障诊断异常报警平台报表SparkSpark Listener 机制Metric SystemEventSystem扩展SourcesHuatuo-SinkSpark自动化分析和故障诊断Druid是一种适用于时序化数据的OLAP分析引擎。特别适合于统计分析、系统监控等业务场景。时间维度支持:TopN/GroupBy等聚合查询以及简单明细查询指标在:目前Druid作为主要的OLAP引擎进行推广,支撑销售报表、金融自助分析、风控平 台以及平台监控等十多个业务场景。Spark自动化分析和故障诊断故障角

6、度Shuffle数据倾斜HDFS Commit阻塞Executor丢失Spill事件分析高维Parquet写性 能诊断RDD Size Estimator耗时诊断任务事件流目前提供分析和诊断能力资源角度宿主机器状态分析HDFS资源使用分析Driver/Executor进 程状态分析资源利用率分析Cache 利用率分析Shuffle内存利用率分析性能角度Task耗时链分析长尾Task分析任务调度Overhead 分析Reduce并发度分析JDBC并发度分析Kafka读并发度分析Spark自动化分析和故障诊断资源角度:宿主机器状态分析通过对任务运行过程中宿主机器状态进行分析,可以判断任务的性能 瓶

7、颈或故障是否与平台稳定性有关。Spark自动化分析和故障诊断资源角度:Driver/Executor进程状态分析通过对任务运行过程中宿主进程状态进行分析,可以对进程的资源使用 情况进行监控,并判断是否存在性能瓶颈、句柄泄露等异常。Spark自动化分析和故障诊断资源角度:资源利用率分析通过对任务运行过程中宿主进程的内存利用率进行分析,来指导业务优化 任务的相关内存参数。Spark自动化分析和故障诊断资源角度:资源利用率分析通过对任务运行过程中Executor CPU时间片利用率进行分析,来指导业务 优化任务的执行器个数。Spark自动化分析和故障诊断资源角度:Cache利用率分析对Executo

8、r Cache内存段的利用率进行分析;同时对任务的DAG图进行分析,对无用Cache进行诊断,以及针对调用2次以上的RDD给出Cache建议。Spark自动化分析和故障诊断故障角度Shuffle数据倾斜HDFS Commit阻塞Executor丢失Spill事件分析高维Parquet写性 能诊断RDD Size Estimator耗时诊断任务事件流目前提供分析和诊断能力资源角度宿主机器状态分析HDFS资源使用分析Driver/Executor进 程状态分析资源利用率分析Cache 利用率分析Shuffle内存利用率分析性能角度Task耗时链分析长尾Task分析任务调度Overhead 分析Re

9、duce并发度分析JDBC并发度分析Kafka读并发度分析Spark自动化分析和故障诊断Task耗时分析性能角度:Task耗时链分析Spark自动化分析和故障诊断性能角度:Task耗时链分析Spark自动化分析和故障诊断耗时链是基于RDD-Iterator来实现,WholeStageCodeGeneration目前还不支持。性能角度:Task耗时链分析Spark自动化分析和故障诊断性能角度:长尾TaskSpark自动化分析和故障诊断性能角度:任务调度Overhead过大不管是Map操作还是Reduce操作,过于细碎Task会占用过多时间在调度以及等待调度上,导致任务调度Overhead过大。S

10、park自动化分析和故障诊断性能角度:Reduce并发度分析不合理的Reduce并发度,是导致任务调度overhead主要原因之一。Spark SQL 2.0+ 支持通过spark.sql.adaptive.enabled来设置Reduce大小 自适应。Spark自动化分析和故障诊断故障角度Shuffle数据倾斜HDFS Commit阻塞Executor丢失Spill事件分析高维Parquet写性 能诊断RDD Size Estimator耗时诊断任务事件流目前提供分析和诊断能力资源角度宿主机器状态分析HDFS资源使用分析Driver/Executor进 程状态分析资源利用率分析Cache 利用率分析Shuffle内存利用率分析性能角度Task耗时链分析长尾Task分析任务调度Overhead 分析Reduce并发度分析JDBC并发度分析 Kafka读并发度分 析Spark自动化分析和故障诊断故障角度:Shuffle数据倾斜Shuffle数据倾斜是一个非常常见的故障Case。对于业务来说,应该主动去感知并处理可能出现的数据倾斜。Spark自动化分析和故障诊断详见: MAPREDUCE-4815:If a job generates many files to commit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论