- 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