《模板淘宝分布式数据处理实践.ppt》由会员分享,可在线阅读,更多相关《模板淘宝分布式数据处理实践.ppt(17页珍藏版)》请在三一文库上搜索。
1、1,淘宝分布式数据处理实践,主要内容,淘宝的数据 云梯介绍 对Hadoop的主要功能扩展与改造 Hive实践 对Hive的改造 分布式数据仓库构思,淘宝的数据,Oracle 备库,MySQL 备库,日志系统,云梯1,TimeTunnel,JDBCDUMP,数据平台,搜索,支付宝,B2B,云梯2,Gateway Servers,数据魔方,量子统计,口碑,DataExchange,爬虫数据,Map Reduce Java Jobs,Streaming Jobs,Hive Jobs,广告,BI,淘数据,推荐系统,搜索排行,淘宝数据的形状,核心数据来源于Oracle备库 大部分数据结构化,数据具有模式
2、 稠密,云梯1规模,总容量9.3PB, 利用率77.09% 总共1100台机器 Master:8CPU(HT),48G内存,SAS Raid Slave节点异构 8CPU/8CPU(HT) 16G/24G内存 1T x 12 / 2T x 6 / 1T x 6 SATA JBOD 12/20 slots 约18000道作业/天, 扫描数据:约500TB/天 用户数474人, 用户组38个,云梯1规模-slave,Slave机器异构 6T机器磁盘利用率较高 Rebalance 单机速度控制:10M/s 每天9:00 23:30运行 Slave故障率 每周10 20次硬盘故障 每周1 2次主板或其
3、他故障,云梯1 Hadoop版本,基于0.19.1 大量Patch 主要来自官方社区0.19.2, 0.20, 0.21等 自己开发的 Hadoop客户端和服务端代码开发分离, 云梯管理员只负责服务端升级, 并保持版本向下兼容,云梯主要功能扩展,安全性 密码认证 (hadoop.job.ugi) 扩展ACL,用户访问其他组的数据(开发中) Scheduler 基于FairScheduler的改造 slots动态调整(网页形式,每小时更新) 各个组使用自己的资源 Slave单磁盘容错 DataNode坏掉一块磁盘不需要停止,减少数据分发 TaskTracker坏掉一块磁盘后不对作业造成影响,Ma
4、ster节点容灾方案,3个Master + 1个Standby节点 配置文件一致,上传至SVN Virtual IP (NameNode和JobTracker) JobTracker无元数据,JobHistory每天备份七天前的历史文件 NameNode和SecondaryNameNode Check point 1天做一次(晚上8点之后),降低NameNode启动时间 Fsimage和edits同时通过NFS写到SNN上,元数据保存两份 Standby在NN或JT宕机时启用,将来的工作,开发一种新型的调度器 调度效率低下导致集群利用率不足 基于红黑树的调度器 NameNode HA Name
5、node 内存瓶颈 Heap Size 40G,CMS gc之后 23G 分布式NameNode, Dynamic Partition Tree Hadoop 升级 OSD及CRUSH算法,Hive使用,2009年3月调研,4月投入生产 CLI与Thrift Server并用 Web/SSH 界面 模板化 & 预加载 86个统一发布UDF Lineage Analysis 极限存储 增量存储表 按数据的生命周期分目录,实践经验,数据倾斜 内存优化 I/O优化 Multi-Insert 数据压缩,淘宝对Hive的贡献与改造,UDFs 建立/删除临时函数 多线程 Thrift server GBK
6、支持 完全JDBC Multi Distinct Aggregation支持 认证与权限 bug fix,将来的工作,Hive IDE Multi Distinct Aggregation优化 Multi Group By优化 极限存储的索引与文件 表统计信息的支持 采用TFile做列存储尝试,分布式数据仓库构思,Hadoop 集群,JobTracker,TaskTracker,Postgres 实例,MapTask ReduceTask,TaskTracker,Postgres 实例,MapTask ReduceTask,TaskTracker,Postgres 实例,MapTask ReduceTask,提交MapReduce作业,Anthill 服务器,元数据库,分析器,优化器,规划器,执行器,Anthill客户端,网络,链接,淘宝数据魔方 http:/ 淘宝数据平台团队博客 http:/www.tbdata.org/ 个人 http:/ http:/