滴滴大数据离线和实时平台架构和实践


SACC2017 滴滴大数据离线和实时平台架构和实践 基础平台部 - 大数据架构部 罗李 SACC2017 目录 SACC2017 部门介绍 大数据架构部 • 负责滴滴大数据实时和离线计算平台基础设施 • 存储和计算引擎的版本开发,升级和维护 (hadoop/hive/spark/flink/druid/hbase/phoenix/Alluxio) • 离线&实时平台集群的开发,管理,维护,调优,升级 • 提供离线&实时开发平台,调度系统,管理平台和数据分析平台 • 服务所有滴滴对内数据业务 • 两位开源社区PMC,Committer和若干Contributor,分别参与 Yarn,HDFS,Druid,Spark,Alluxio的社区贡献 SACC2017 大数据架构体系 MySQL log-agent app-sdk Kafka DSink binlog SparkStreaming Flink Druid 实时计算平台 实时ETL MapReduce Hive YARN 离线计算平台 Spark HDFS 库/表/分区 Phoenix HBase平台 HBase BI实时监控 灭火图 客服智能大屏 错误实时诊断 地图ETA 专快出顺数仓 通用报表 安全数仓 轨迹数仓 代驾数仓 数据生成 数据采集 数据加工 数据应用 交易订单 司乘轨迹 数据APP 把脉Trace 实时数仓 数据服务化 DQuality …… 我们在这 SACC2017 SACC2017 实时计算集群架构 • 维护了SparkStreaming和Flink两套流计算引擎 • Druid实时聚合数据指标 • 独立的实时集群,跟离线分开 • 任务级的管控/监控报警/日志诊断和流处理作业恢复 • Spark 1.6.1/ 2.1.1/2.2.0 • Flink 1.2.0/1.3.2 • Druid 0.10.1 SACC2017 典型流式系统集成架构 与流系统集成的通用架构 • 数据上游:kafka • 流计算:数据清洗、改造 • Druid实时写入 • 查询 SACC2017 Mysql Slave Canal Kafka Topic Druid Datasource 文本日志 Swan 业务层 实时ODS层 实时DWB层 API拉取 Python Spark Streaming/Flink/Samza Job 实时计算引擎层 Parquet/ORC/Carbon HDFS Spark SQL/机器学习 原始明细实时存储 实时数据API 实时DWS层 Consumer:如实时监控、报警服务、DashBoard,监控大屏,用户A、用户B… 实时监控数据流 SACC2017 BI实时监控 • 1100+个实时数据指标 • 基于每个指标的阈值,变化率,同环 比,模型实时报警 • 覆盖专车,快车,顺风车,优享,出租 车,代驾,公交,支付,小巴等业务最 重要的指标 • 以前是基于需求驱动,实时团队开发 • 现在已逐步转变成实时团队提供平台和 工具,用户DIY开发 SACC2017 基于Spark Streaming的ETA 1.订单流和坐标流的实时join 2.进一步提取特征 SACC2017 基于Flink Streaming的乘客位置语义推送 1.订单流和乘客流实时join 2.乘客位置变化推送给司机(是否出发,是否达到),准确率94% 3.减少司乘不必要的沟通,提升接驾效率 SACC2017 SACC2017 实时计算平台 线上数据 kafka 数据ETL (SparkStreaming/Flink) HDFS/Hive Druid DataSource1 DataSource2 DataSourceN … 1,采集工单 实时消费 2,流作业编码 3,计算作业提交 4,任务管理 Sink 实时ETL 实时ingest 5,实时指标构建 API1 API2 http://host/monitor/v1/monitorId/sql/quickstartDemo1 http://host/monitor/v1/monitorId/sql/quickstartDemo2 DashBoard 6,DashBoard配置 报警 报警 7,报警配置 SACC2017 实时计算平台 采集工单 SACC2017 实时计算平台 内置数据ETL作业 SACC2017 实时计算平台 webIDE自定义 ETL逻辑 SACC2017 实时计算平台 作业管理 指标构建 SACC2017 实时计算平台 DashBoard配置 SACC2017 实时计算平台 实时报警 1.自助报警服务 2.支持模型报警和阈值报警 SACC2017 实时计算平台 SACC2017 SACC2017 离线计算平台 HDFS XG NM XG:NS1 XG:NS2 NM:S1 NM:NS2 YARN MapReduce Hive Spark 调度系统 开发平台 D++ 数据仓库(专快出顺,通用报表,代价数仓,安全数仓,地图数仓) • 应需namespace切分 • 跨机房作业调度 • nodemanager透明升级 • 自主Hadoop用户密码机制 • 基于Druid的Timeline Server • Hive权限体系重构 • Livy Spark Session Service • Hive/Phoenix/Druid/ES数据互通 • 基于健康分的数据体系治理 • …… SACC2017 数据开发平台 查询库,表元数据信息和分区信息 查询表字段和schema 查询函数,自定义UDF,共享UDF 查询变量,自定义变量 编辑SQL,编辑脚本,执行 获取查询结果数据 部署到调度系统 查看权限,授权,申请权限 查看队列运行情况 查看,申请存储计算quota情况 SACC2017 任务调度平台 创建调度任务,自定义调度策略 自动统计周期调度任务执行时长等趋势图 拖拽实现任务依赖关系图和执行顺序 对任务进行授权,启停 查看任务运行日志,排查任务问题 进行任务报警条件设置 自定义值班表和值班人 SACC2017 流程管理平台 个人,生产账号申请 存储容量,白名单 计算队列申请,扩容,管理 Hive表权限申请,授权,生命周期 调度系统配置 数据备份工单 文件合并压缩工单 SACC2017 SACC2017 DiDi @ HBaseCon 2017 https://www.slideshare.net/HBaseCon/apache-hbase-at- didi?qid=5956b5f9-1832-4ef2-93a8- 3d663e0060b9&v=&b=&from_search=11 SACC2017 Hbase架构体系 Phoenix Spark Streaming Hive Hadoop HBase Flink Spark Restful jdbc • 交易订单 • 司乘轨迹 • 北极星 • 把脉Trace • 实时数仓 • Omega • 顶行导栏 • 数据服务化 • 审计数据 • 特征库 • 后市场 • 安全谷雨 • …… ClusterA ClusterB ClusterC SACC2017 HBase弹性调度/资源隔离 HMaster Regionserver1 Regionserver2 Regionserver3 Regionserver4 RS Group 1 RS Group 2 Table1 Table3 Table2 SACC2017 HBase弹性调度/资源隔离 1、业界领先,将HBase2.0中功能backport回0.98版本/1.X版本 2、基于HBASE-6721并深度定制,经过滴滴一年生产检验,fix bug后较成熟 3、开源产品内核级别优化升级是开发同学必备技能 SACC2017 滴滴Hbase/Phoenix生态 1、成熟的Hive->Phoenix数据导入方案 2、Phoenix挂载Hive外表成为实时、离线混合分析引擎 3、Phoenix通过实时开发平台撰写streaming任务接收kafka数据 4、支持JDBC接口,数据库常用sql基本支持(join不能针对两个大表) 5、通过QueryServer提供restful查询服务(多语言) 6、支持Spark on phoenix,且有成熟应用 SACC2017 DHS系统 创建项目和表: SACC2017 项目上线工作流 SACC2017 DHS系统 项目表级监控 SACC2017 DHS系统 SACC2017 SACC2017 • 更深的开源社区参与度 • 更高的稳定性,性能,安全性 • 更低的成本,进一步提高利用率 • 异地跨机房集群规划 • 更完善的权限体系 • 离线和实时开发平台数据分析需求 • 更友好的用户体验和用户效率提升 • 开源一些技术平台的积累 • …… • 招人!招人!招人!(北京&杭州) (luoli@didichuxing.com) SACC2017 THANK YOU SACC2017
还剩38页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 7 人已下载

下载pdf