`
20386053
  • 浏览: 432426 次
文章分类
社区版块
存档分类
最新评论

迅雷数据平台建设和应用案例

 
阅读更多
在上周六(7月27日)CSDN CTO俱乐部深圳站的公开讲座上,来自迅雷基础研发数据平台的陈仕明,走上腾讯大讲堂的讲台,为大家分享了迅雷数据平台建设的情况和一些应用案例。

陈仕明做了一个比喻很形象:做数据平台的,就像挖粪坑。不挖不臭,越挖越臭。他的演讲介绍了中型数据平台的特点、迅雷数据平台的规模和负载、数据平台建设情况和系统介绍、一些应用和实施案例、以及未来的一些规划。

【迅雷数据平台面临的挑战】

中型数据平台的特点:较大的数据规模,服务器资源有限,技术储备有限,人员有限,平台建设驱动力较小。
规模:
- 服务器:500+
- CPU:4000+
- 存储:20P+
- 磁盘:3000+

负载:
- 每天计算任务6K+
- 每天IO扫描100T+
- 存储消耗75%
- CPU平均消耗60%

迅雷下载客户端一天产生亿级的下载;XMP和看看,每天亿级的播放;迅雷广告平台上亿级的广告展现和点击几百万迅雷VIP用户在迅雷各个产品上产生的用户行为;百亿文件的特征数据以及文件之间的关系;几亿迅雷用户的特征染色...

【迅雷数据平台建设情况】

整体技术架构



平台发展


【迅雷数据平台系统介绍】

离线采集Xrsync
- 同步:采用rsync,数据从业务服务器同步到中转服务集群,然后再加载到HDFS。 该过程中增加任务元数据和调度管理
- 文本数据:使用M/R做格式转换,生成RCFile的Hive表
- Mysql MyISAM:通过MySqlISAMStorageHandler支持Hive读取,再转成RCFile的Hive表

实时采集XCollector:
- 在业务服务器上部署agent,实时采集服务器日志和Mysql binlog
- 基于消息队列,数据可落地到hdfs或storm用于做离线或实时计算
- 可选是否保证数据顺序

安全:全平台建立统一的安全控制中心
- 整体上采用kerberos认证,控制平台上服务和账户的接入
- HDFS上用户的所有数据只能存放到帐号的Home目录下,该帐号Hive,Hbase的数据也都存放在该目录,并控制存储空间。
- Hive中的授权使用存储层的权限来控制,如HDFS或JDBC,控制到partition级别
- HBase使用HDFS的权限数据授权,控制到CF级别
- MR Task运行在SELinux构建的安全沙箱中,防止用户task中出现恶意代码

事件驱动调度引擎:
- Crontab这类时间依赖的调度具有非常大的局限性
1)数据准备好可以执行时,不会立即出发执行,浪费时间;
2)任务之间依赖关系复杂,重跑后无法自动触发后续依赖任务执行
- 事件调度
1)任务与任务之间的依赖关系,其实质是“数据”的依赖,使用“数据”作为依赖和触发的桥梁,业务上更容易理解
2)前置任务完成之后自动驱动后置任务,降低维护成本
3)任务的依赖分为两层:ETL Job内部的依赖:功能类似oozie,裁减出Kettle的Job部分,以webStart的方式发布;基于“数据”的依赖:事件驱动调度
4)抽象计算引擎,可支持多种计算引擎,如MR,Shell等

5)底层计算引擎崩溃之后,任务可自动重入,降低集群维护阻力


6)基于数据依赖拓扑图的任务监控

多维模型OLAP服务:XOLAP:
- 使用MR做Cube Load
- 基于事件驱动细粒度分批Load Metric,尽早呈现数据
- 插件式的存储底层引擎
- 在维度层级上事先汇聚,加速查询速度
- 查询层支持MDX规范

Jdbc client proxy
- 物化视图:自动重写sql,无缝优化报表查询

【迅雷数据平台应用案例】

用户事件模型:{谁}对{谁}的{什么东西}做了{什么事情}
- 产品维度
- 用户维度
- 时间维度
- 客户维度
- 地域维度
- 运营商维度
- 终端维度
- 渠道维度
- 事件维度

迅雷用户染色库:
- 地区、运营商
- 兴趣标签(游戏类标签、影视类标签)
- 活跃度
- 终端属性:PC属性(如CPU、内存,显卡等)、移动终端属性(如机型,显示屏,操作系统,内存,主频等)
云计算在云转码,指纹计算的应用
染色库在会员tips推广高速通道的案例
应用推荐在appstore上的应用案例
资源推荐在兴趣树上的应用案例

【迅雷数据平台的未来规划】

正在探索的:
- 支撑活动运营的一揽子技术解决方案
- 更便捷的数据开发模式和开发工具
- 更优的资源管理和任务调度
- 更快的计算引擎

--
讲师简介:陈仕明,迅雷基础研发中心数据平台技术总监。2004年参加工作,一直从事数据类相关产品的架构和研发,08年入职迅雷,目前任职迅雷基础研发中心数据平台技术总监,负责迅雷数据平台的规划和建设。

最后附上小编送给讲师陈仕明的课堂笔记。也请关注小编的微信公众号:@shenzhenware


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics