1、基于Hadoop/HBase的一淘搜索离线系统,莫 问,个人简介,花名:莫问 真名:王峰 2006年硕士毕业于北航计算机系 毕业后加入阿里巴巴集团 雅虎中国 - 垂直搜索团队 阿里云 - 计算服务团队 淘宝/一淘 - 网页抓取团队 技术方向:分布式系统和大数据处理,提 纲,一淘搜索系统架构 基于HBase的分布式存储系统 基于Hadoop的分布式计算平台 一淘全网商品离线处理系统,抓取系统,存储系统,业务处理流程,索引构建,搜索引擎,Web,搜索前端,淘宝商品,一淘搜索系统架构,淘宝商品导入,基于HBase的分布式存储系统,HBase集群概述 HBase主要数据 HBase扩展开发 基于HBa
2、se的分布式消息队列,HBase集群概述,集群版本:0.94.x+扩展优化 集群规模:300台+ 存储量:300TB+ 每日更新量:10% 监控:Ganglia + JMX,HBase主要数据,电子商务网页库(几十亿) 全网B2C商品 全网导购信息(资讯、问答、论坛、点评等) 淘宝+天猫商品(40%) 精选优质商品 淘客返利商品,HBase扩展开发,定制Load Balance插件 定制Region Split/Merge插件和工具 扩展ThriftServer API 增强的MapReduce Lib支持 丰富更多的Metrics指标 多种Coprocessor插件,RegionServer
3、,RegionServer,RegionServer,RegionServer,region,region,region,region,region,region,region,region,region,region,region,region,region,region,RS-Level Balance,RegionServer,RegionServer,RegionServer,RegionServer,region,region,region,region,region,region,region,region,region,region,region,region,region,re
4、gion,region,Table-Level Balance,RegionServer,RegionServer,RegionServer,RegionServer,region,region,region,region,region,region,region,region,region,region,region,region,region,region,region,Both RS & Table Level Balance,Queue,Partition 1,Message 1,Message 2,Message 3,Partition 2,Message 1,Message 2,M
5、essage3,.,Column,Timesatamp,Rowkey,基于HBase的分布式消息队列(HQueue),Value,Partition ID + Message ID,Topic,Timestamp,Value,Queue is a HBase Table Partition is a HBase Region Message is a HBase KeyValue,RegionServer,Timestamp,Sequence ID,Topic,Value,Partition ID,RowKey,HQueue Writer,HTable Put API Wrapper,C O
6、P R O C E S S O r,2. Locate By Partition ID,Sort By TS,P A R T I T I O n,Message,Message,Message,Message,1. Create Message KV,3. Set MessageID By TS and SeqID,4. Append To Partition,RegionServer,C O P R O C E S S O r,P A R T I T I O n,Message,Message,Message,Message,MessageID,Message写入流程,RegionServe
7、r,HQueue Reader,HTable Scan API Wrapper,2. Locate By Partition ID,1. Create Message Scan,Partition ID MessageID(TS) Range Message Topic,Message读取流程,RegionServer,P A R T I T I O n,Message,Message,Message,Message,3. Scan Sequencially,Sort By TS,4. Return By Order,P A R T I T I O n,Message,Message,Mess
8、age,Message,Sort By TS,HQueue特性,支持持久化压缩存储(继承HBase) 支持自动Failover(继承HBase) 支持动态负载均衡(继承HBase) 支持TTL设定,自动清理过期消息(继承HBase) 支持多语言客户端(扩展HBase ThriftServer) 可与HBase统一运维(本质都是HBase) 可与Hadoop MR无缝对接(开发HQueue MR Lib),电商网页库,URL选取,URL队列,抓取系统,Page队列,抽取系统,提链事件队列,Dump事件队列,图片、JS事件队列,提链系统,Dump系统,图片、JS处理系统,HQueue应用场景,基于
9、Hadoop的分布式计算平台,Hadoop集群介绍 Hadoop集群业务流程 Hadoop-2.0 基于Hadoop YARN的定制计算服务,集群版本:2.0.X 集群规模:300台+ 存储量:1PB+ 每日运行Job数:2万+ 监控:Ganglia + JMX,Hadoop集群介绍,网页调度与选取 网页链接提取 网页内容抽取 全网商品各维度数据挖掘 一淘全网商品搜索数据Dump 一淘全网商品搜索Index Build,Hadoop集群业务流程,NameNode HA HDFS所有环节无单点 支持HDFS在线升级 YARN 引入二级调度,Not Only MR,可定制计算模型 Cgroups资
10、源隔离方案更彻底,让系统更稳定,Hadoop-2.0,MapReduce-1.0,MapReduce-2.0(YARN),Resource Manager,Node Manager,App Worker,App Master,Node Manager,App Worker,Node Manager,App Worker,App Worker,App Master,Client,Node Status,Resource Request,App Status,Client,Service Submission,Fork / Monitor,Lanch,Service Worker,流式数据源(HQ
11、ueue, MySQL DRC, TimeTunel),中转队列,Service Workers,InputFormat,InputFormat,OutputFormat,Service Master,Metrics,Service Worker,Service Worker,Service Worker,Service Workers,Service Worker,Service Worker,zookeeper,register,基于YARN的流式计算服务,Progress Checkpoint,Metrics,InputSplit,InputSplit,Service Worker,Se
12、rviceMaster,1. Metrics(包括进度),InputSplit,InputSplit,Service Worker,Service Worker,2. 发现Worker处理进度太慢,3.分裂Worker,动态分裂计算Worker,ServiceMaster,InputSplit,InputSplit,Service Worker,Service Worker,Service Worker,InputSplit,InputSplit,1. Metrics(包括进度),2. 发现两个Worker比较空闲,3. 合并Worker,动态合并计算Worker,一淘全网商品离线处理系统,全
13、网商品接入(淘宝+外网) 全网商品存储(HBase) 全网商品Dump(业务逻辑计算) 全网商品Index Build,HBase(全网商品库),一淘 抓取系统,Import Job,淘宝搜索 Hadoop/HBase集群,淘宝商品,外网商品,eHarmony API Service,前端运营工具,人工修正,修正商品 状态属性,Import Service,全量,增量,一淘全网商品接入,HBase(全网商品库),Dump Service,Dump Job,Index Build Job,HQueue,XML文件,问天搜索引擎,索引文件,实时消息,定期增量XML文件,全量XML文件,文件索引,HQueue,增量更新事件,商品入库/更新,一淘全网商品Dump + Index Build,Coprocessor,Coprocessor,一淘全网商品业务处理Pipeline,商家业务处理,运费业务处理,类目业务处理,促销业务处理,返利业务处理,排序业务处理,Dump Job,Dump Service,可插件化,全量流程,实时增量流程,业务处理Pipeline,新浪微博:淘莫问,Q &A,