• 1. 基于Hadoop/HBase的一淘搜索离线系统莫 问
  • 2. 个人简介花名:莫问 真名:王峰 2006年硕士毕业于北航计算机系 毕业后加入阿里巴巴集团 雅虎中国 - 垂直搜索团队 阿里云 - 计算服务团队 淘宝/一淘 - 网页抓取团队 技术方向:分布式系统和大数据处理
  • 3. 提 纲一淘搜索系统架构 基于HBase的分布式存储系统 基于Hadoop的分布式计算平台 一淘全网商品离线处理系统
  • 4. 抓取系统 存储系统业务处理流程索引构建搜索引擎Web搜索前端 淘宝商品一淘搜索系统架构淘宝商品导入
  • 5. 基于HBase的分布式存储系统HBase集群概述 HBase主要数据 HBase扩展开发 基于HBase的分布式消息队列
  • 6. HBase集群概述集群版本:0.94.x+扩展优化 集群规模:300台+ 存储量:300TB+ 每日更新量:10% 监控:Ganglia + JMX
  • 7. HBase主要数据电子商务网页库(几十亿) 全网B2C商品 全网导购信息(资讯、问答、论坛、点评等) 淘宝+天猫商品(40%) 精选优质商品 淘客返利商品
  • 8. HBase扩展开发定制Load Balance插件 定制Region Split/Merge插件和工具 扩展ThriftServer API 增强的MapReduce Lib支持 丰富更多的Metrics指标 多种Coprocessor插件
  • 9. RegionServer RegionServer RegionServer ……..RegionServer regionregionregionregionregionregionregionregionregionregionregionregionregionregionRS-Level Balance
  • 10. RegionServer RegionServer RegionServer ……..RegionServer regionregionregionregionregionregionregionregionregionregionregionregionregionregionregionTable-Level Balance
  • 11. RegionServer RegionServer RegionServer ……..RegionServer regionregionregionregionregionregionregionregionregionregionregionregionregionregionregionBoth RS & Table Level Balance
  • 12. Queue Partition 1 Message 1Message 2Message 3…………..Partition 2 Message 1Message 2Message3…………..… … … … …………….ColumnTimesatampRowkey基于HBase的分布式消息队列(HQueue)ValuePartition ID + Message IDTopicTimestampValueQueue is a HBase Table Partition is a HBase Region Message is a HBase KeyValue
  • 13. RegionServer TimestampSequence IDTopicValuePartition IDRowKeyHQueue WriterHTable Put API WrapperC O P R O C E S S O r…………2. Locate By Partition IDSort By TSP A R T I T I O nMessageMessageMessageMessage1. Create Message KV3. Set MessageID By TS and SeqID4. Append To PartitionRegionServer C O P R O C E S S O r…………P A R T I T I O nMessageMessageMessageMessage…………MessageIDMessage写入流程
  • 14. RegionServer \\ HQueue ReaderHTable Scan API Wrapper2. Locate By Partition ID1. Create Message ScanPartition ID MessageID(TS) Range Message TopicMessage读取流程 RegionServer ……………………P A R T I T I O nMessageMessageMessageMessage3. Scan Sequencially Sort By TS4. Return By Order…………P A R T I T I O nMessageMessageMessageMessageSort By TS
  • 15. HQueue特性支持持久化压缩存储(继承HBase) 支持自动Failover(继承HBase) 支持动态负载均衡(继承HBase) 支持TTL设定,自动清理过期消息(继承HBase) 支持多语言客户端(扩展HBase ThriftServer) 可与HBase统一运维(本质都是HBase) 可与Hadoop MR无缝对接(开发HQueue MR Lib)
  • 16. 电商网页库URL选取URL队列抓取系统Page队列抽取系统提链事件队列Dump事件队列图片、JS事件队列提链系统Dump系统图片、JS处理系统HQueue应用场景
  • 17. 基于Hadoop的分布式计算平台Hadoop集群介绍 Hadoop集群业务流程 Hadoop-2.0 基于Hadoop YARN的定制计算服务
  • 18. 集群版本:2.0.X 集群规模:300台+ 存储量:1PB+ 每日运行Job数:2万+ 监控:Ganglia + JMXHadoop集群介绍
  • 19. 网页调度与选取 网页链接提取 网页内容抽取 全网商品各维度数据挖掘 一淘全网商品搜索数据Dump 一淘全网商品搜索Index BuildHadoop集群业务流程
  • 20. NameNode HA HDFS所有环节无单点 支持HDFS在线升级 YARN 引入二级调度,Not Only MR,可定制计算模型 Cgroups资源隔离方案更彻底,让系统更稳定 Hadoop-2.0
  • 21. MapReduce-1.0
  • 22. MapReduce-2.0(YARN)Resource ManagerNode Manager App WorkerApp MasterNode Manager App WorkerNode Manager App WorkerApp WorkerApp MasterClientNode Status Resource RequestApp StatusClientService SubmissionFork / MonitorLanch
  • 23. Service Worker……流式数据源(HQueue, MySQL DRC, TimeTunel)中转队列Service WorkersInputFormatInputFormatOutputFormatService MasterMetricsService WorkerService WorkerService Worker……Service WorkersService WorkerService Workerzookeeperregister基于YARN的流式计算服务Progress CheckpointMetrics
  • 24. InputSplitInputSplitService WorkerServiceMaster1. Metrics(包括进度)InputSplitInputSplitService WorkerService Worker2. 发现Worker处理进度太慢3.分裂Worker动态分裂计算Worker
  • 25. ServiceMasterInputSplitInputSplitService WorkerService WorkerService WorkerInputSplitInputSplit1. Metrics(包括进度)2. 发现两个Worker比较空闲3. 合并Worker动态合并计算Worker
  • 26. 一淘全网商品离线处理系统全网商品接入(淘宝+外网) 全网商品存储(HBase) 全网商品Dump(业务逻辑计算) 全网商品Index Build
  • 27. HBase(全网商品库)一淘 抓取系统Import Job淘宝搜索 Hadoop/HBase集群淘宝商品外网商品eHarmony API Service前端运营工具人工修正修正商品 状态属性Import Service全量增量一淘全网商品接入
  • 28. HBase(全网商品库)Dump ServiceDump JobIndex Build JobHQueue XML文件问天搜索引擎 索引文件实时消息定期增量XML文件全量XML文件文件索引HQueue增量更新事件商品入库/更新一淘全网商品Dump + Index BuildCoprocessorCoprocessor
  • 29. 一淘全网商品业务处理Pipeline商家业务处理运费业务处理类目业务处理促销业务处理返利业务处理排序业务处理Dump JobDump Service可插件化全量流程实时增量流程业务处理Pipeline
  • 30. 新浪微博:淘莫问Q &A