Download presentation
Presentation is loading. Please wait.
1
基于Hadoop/HBase的一淘搜索离线系统
莫 问
2
个人简介 花名:莫问 真名:王峰 2006年硕士毕业于北航计算机系 毕业后加入阿里巴巴集团 雅虎中国 - 垂直搜索团队
花名:莫问 真名:王峰 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
RS-Level Balance RegionServer RegionServer RegionServer RegionServer
…….. region region region region region region
10
Table-Level Balance RegionServer RegionServer RegionServer
…….. region region region region region region region
11
Both RS & Table Level Balance
RegionServer RegionServer RegionServer RegionServer region region region region region region region region …….. region region region region region region region
12
Partition ID + Message ID
基于HBase的分布式消息队列(HQueue) Queue Queue is a HBase Table Partition is a HBase Region Message is a HBase KeyValue Partition 1 Partition 2 … Message 1 Message 1 … Message 2 Message 2 … Message 3 Message3 … ………….. ………….. ……………. Rowkey Column Timesatamp Value Partition ID + Message ID Topic Timestamp Value
13
Message写入流程 HTable Put API Wrapper HQueue Writer RegionServer
Partition ID Message写入流程 HTable Put API Wrapper RowKey Timestamp MessageID Sequence ID 1. Create Message KV HQueue Writer Topic Value 2. Locate By Partition ID 3. Set MessageID By TS and SeqID RegionServer RegionServer 4. Append To Partition C O P R E S r P A R T I O n Message C O P R E S r P A R T I O n Message Message Message Message Message Sort By TS Message Message ………… ………… …………
14
Message读取流程 HTable Scan API Wrapper HQueue Reader RegionServer \\
1. Create Message Scan Partition ID MessageID(TS) Range Message Topic HQueue Reader 2. Locate By Partition ID RegionServer \\ RegionServer 3. Scan Sequencially 4. Return By Order P A R T I O n Message P A R T I O n Message Message Message ………… Message Sort By TS Message Sort By TS Message Message ………… …………
15
HQueue特性 支持持久化压缩存储(继承HBase) 支持自动Failover(继承HBase) 支持动态负载均衡(继承HBase)
支持TTL设定,自动清理过期消息(继承HBase) 支持多语言客户端(扩展HBase ThriftServer) 可与HBase统一运维(本质都是HBase) 可与Hadoop MR无缝对接(开发HQueue MR Lib)
16
HQueue应用场景 电商网页库 URL选取 URL队列 抓取系统 Page队列 抽取系统 提链事件队列 Dump事件队列
图片、JS事件队列 提链系统 Dump系统 图片、JS处理系统
17
基于Hadoop的分布式计算平台 Hadoop集群介绍 Hadoop集群业务流程 Hadoop-2.0
基于Hadoop YARN的定制计算服务
18
Hadoop集群介绍 集群版本:2.0.X 集群规模:300台+ 存储量:1PB+ 每日运行Job数:2万+
监控:Ganglia + JMX
19
Hadoop集群业务流程 网页调度与选取 网页链接提取 网页内容抽取 全网商品各维度数据挖掘 一淘全网商品搜索数据Dump
一淘全网商品搜索Index Build
20
Hadoop-2.0 NameNode HA YARN HDFS所有环节无单点 支持HDFS在线升级
引入二级调度,Not Only MR,可定制计算模型 Cgroups资源隔离方案更彻底,让系统更稳定
21
MapReduce-1.0
22
MapReduce-2.0(YARN) Node Manager Client Client Resource Manager
App Worker Node Manager Client Client App Master App Worker Resource Manager Node Manager App Master Lanch Node Status Service Submission Fork / Monitor App Worker Node Manager Resource Request App Status App Worker
23
基于YARN的流式计算服务 zookeeper 流式数据源(HQueue, MySQL DRC, TimeTunel) register
InputFormat Progress Checkpoint Service Workers Service Worker Service Worker …… Service Worker Metrics OutputFormat Service Master 中转队列 InputFormat Metrics Service Workers Service Worker Service Worker …… Service Worker
24
动态分裂计算Worker InputSplit InputSplit InputSplit InputSplit
Service Worker Service Worker Service Worker 1. Metrics(包括进度) 2. 发现Worker处理进度太慢 ServiceMaster
25
动态合并计算Worker InputSplit InputSplit InputSplit InputSplit
Service Worker Service Worker Service Worker 1. Metrics(包括进度) ServiceMaster 2. 发现两个Worker比较空闲
26
一淘全网商品离线处理系统 全网商品接入(淘宝+外网) 全网商品存储(HBase) 全网商品Dump(业务逻辑计算)
全网商品Index Build
27
一淘全网商品接入 一淘 抓取系统 淘宝搜索 Hadoop/HBase集群 前端运营工具 Import Job Import Service
人工修正 全量 增量 Import Job Import Service eHarmony API Service 外网商品 淘宝商品 修正商品 状态属性 HBase(全网商品库)
28
一淘全网商品Dump + Index Build
商品入库/更新 HBase(全网商品库) 增量更新事件 HQueue Coprocessor Dump Service Dump Job 问天搜索引擎 实时消息 HQueue 全量XML文件 Coprocessor 定期增量XML文件 XML文件 文件索引 Index Build Job 索引文件
29
一淘全网商品业务处理Pipeline 商家业务处理 业务处理Pipeline 可插件化 运费业务处理 实时增量流程 全量流程 类目业务处理
Dump Service Dump Job 促销业务处理 返利业务处理 排序业务处理
30
Q &A 新浪微博:淘莫问
Similar presentations