DTCC2014:Hadoop生态技术在阿里全网商品搜索实战-阿里巴巴 - 王峰_IT168文库
更新时间:2023-07-20 08:56:01 阅读量: 实用文档 文档下载
- hadoop生态技术包括推荐度:
- 相关推荐
Hadoop生态技术在阿里全网商品搜索实战阿里巴巴 -王峰
自我介绍 真名:王峰 微博:淘莫问
淘宝花名:莫问
2006年硕士毕业后加入阿里巴巴集团 淘及搜索事业部(高级技术专家) 目前负责搜索离线系统团队 技术方向:分布式计算与存储
大纲 阿里搜索离线技术平台 阿里全网商品搜索系统架构 阿里电商网页库存储方案
阿里全网商品实时处理流程
阿里搜索离线技术平台B2B搜索淘宝搜索天猫搜索一淘搜索云搜索
Z O O K E E P E r
MR (Batch)
iStream (Streaming)
Spark (Iterative)
HQueue (Queue)
Phoenix (SQL)
OpenTSDB (Metrics)
YARN
HBase
HDFS
T H R I F T/ P B
阿里搜索Hadoop/HBase集群 Hadoop:基于2.2的阿里搜索定制版 HBase:基于0.94的阿里搜索定制版 部署方式:Hadoop/HBase共同部署 集群规模:机器总数已近千台,分2个集群 硬件配置:– 24/32Core CPU– 48/96GB Memory
– 12 * 1T/2T Sata Disk
阿里搜索分布式存储技术体系 HDFS(分布式文件系统) HBase(NoSQL数据库)
Phoenix(SQL On HBase) OpenTSDB(Metrics On HBase) HQueue(Queue On HBase)
HQueue存储结构1. Queue is a HBase Table2. Partition is a HBase Region 3. Message is a HBase KeyValue 4. Message is stored in Partition/Region sequentially KV/Message KV/Message KV/Message KV/Message Region/PartitionKV/Message
Table/QueueRegion/Partition KV/Message
……………………….
…………..
…………..
Rowkey
Column
Timesatamp
Value
Message的KeyValue设计:
Partition ID+ Message ID
Topic
Timestamp
Value
Timestamp+ Sequence ID
Partition ID
MessageID
Timestamp Sequence ID Topic Value
RowKey 1. Create Message KV
HQueue写入流程HQueue Client
2. Locate By Partition ID
3. Set MessageID/Update Rowkey
RegionServerC O P R O C E S S O r4. Append To Region Message KV R E G I O n Message KV Message KV Message KV…………Sort By Received Timestamp
5. Update Latest MessageID 6. Notify Subscription Threads
HQueue读取流程 Queue Name Partition ID Message ID(TS) Range Message Topics
1. Create Scan
6. Close Scanner
HQueue Client2. Locate By Partition ID 4. Return Scanner
3. Open Internal Scanner RegionServer Message KV R E G I O n Message KV Message KV Message KV………… 5. Next and Return Messages
HQueue订阅流程1. Subscribe Zookeeper Queue Name Partition ID Start Message ID(TS) Message Topics Client ID 9. Unsubscribe HQueue Client 6. Receive and Process Message KVs
2. Get Subscriber Address/Checkpoint
10. Subscriber Quit Watch C O P R O C E S S O r
5. Next and Send Message KVs RegionServer 3. Create Subscription Thread 4. Open Internal Scanner 7. Close Internal Scanner 8. if (New Message){repeat 4;} else{wait;} R E G I O n Message KV Message KV Message KV Message KV…
………
Set Checkpoint Periodically
11. Subscription Thread Quit
HQueue主要特性 读写高性能(新消息都在MemStore+顺序存储)消息持久化存储,不丢失(HFile+ HLog)消息支持TTL设定,自动清理过期消息(HBase TTL)
消息支持主动拉和订阅两种模式(HBase Client Wrapper+Coprocessor)
服务支持动态负载均衡(HBase Load Balance)服务支持快速Failover (HBase MTTR)支持多语言客户端(扩展HBase Thrift Server)可与Hadoop计算平台无缝对接(HQueueInputFormat/OutputFormat)可复用HBase集群直接部署管理,无需独立硬件(HQueue Shell)
阿里搜索分布式计算技术体系 Hadoop YARN(统一管理所有计算模型) MapReduce(批处理计算模型)
iStream(流计算模型) Spark(迭代计算模型,规划中)
iStream -基于YARN的流计算引擎Stream ServiceData SourceInputFormat
Data Source
Stream RoleOutputFormat Data Sink/Source InputFormat Stream Role Stream Role OutputFormat Data Sink/Source
Stream Role
Data Sink/Source InputFormat Stream Role
Data Sink
Data Sink
iStream技术概念
Stream Service:运行在YARN上的一套流计算服务,例如:实时商品处理服务 Stream Role:计算角色,即一组具备特定功能逻辑的Worker组合
Data Source:计算服务的流式数据来源,可被切分为多个DataSplit,一个Worker可以读取多个Splits。例如:数据库集群binlog服务,分布式消息队列
Data Sink:计算服务的数据终端,可被切分为多个Data Partition,一个Worker可以向多个Partition分发写入。例如:数据库集群,分布式消息队列
In/OutputFormat:控制Stream Role如何访问Data Source/Sink,不同存储介质的Source/Sink可以通过配套的In/OutputFormat来接入
iStream主要特性
计算和存储层分离,可灵活搭配消息队列计算拓扑开放,可以根据业务变化动态调整具备流处理进度管理能力,进度可视化以及监控报警具备弹性调度能力,可根据进度动态调整计算资源数量服务Metrics自动记录到OpenTSDB中,可WebUI查看类似MR Streaming方式,支持多语言编程可与MR等模型共享Hadoop集群,无需单独集群部署
阿里全网商品搜索系统架构互联网阿里商品库搜索应用
网页抓取
网页抽取
实时同步
搜索引擎
网页选取
电商网页库
实时商品处理
阿里电商网页库存储方案 发展历程 2010年上线,学习Google网页库Bigtable存储方案,决定采用
开源的HBase作为存储引擎 HBase经历了0.25,0.26,0.90,0.92,0.94(当前),5月将升级到0.98
集群规模从30多台持续升级到300多台 Region数从1000多个增长到20000多个
网页数从十亿增长到百亿
阿里电商网页库-Rowkey设
计 URL翻转 例如:翻转为http://com.taobao.www
特点:同一网站内的网页/商品连续存储,各站点连续分布优点:可以方便的在海量网页库中快速读取到某个站点的所有数据缺点:不同网站的网页/商品数量以及变化频率差异较大,不同
Region/RegionServer之间的I/O访问容易不均衡 解决方案:通过统计分析和抓取调度反馈,针对热点网站进行手动 split,分解压力;升级到0.98后将会采取Stochastic Load Balancer根据I/O压力等综合指标进行负载均衡
阿里电商网页库-CF设计Column Family Meta内容网页元信息描述 url,host,type等
ContentOutllinks Algorithm History Trace Image
网页抽取出的结构化信息网页的外链信息算法结果历史信息网页处理的trace信息网页中的图片信息
标题,价格等页面的url链接分类,权重等多版本历史价格,销量等时间点,错误信息等图片url等
Raw
网页原始HTML
HTML
阿里电商网页库-I/O设计参数名参数值描述
Compression Block Encoding Block Size Block Cache Bloom Filter
Snappy/Gzip Diff 64KB-1MB InMemory ROW
Meta,Content等CF访问频繁,用Snappy,速度快 Raw CF访问较少,用Gzip,压缩比高 0.98后采用PrefixTree Meta,Content等CF都有Get需求,Block Size设置较小 Raw CF只有Scan的需求,Block Size设置较大 Meta CF内容较少,访问频率较高,InMerory=True,减少Cache换出概率所有CF基本都是Row级别访问,无需ROWCOL
阿里电商网页库-Region Split默认:Constant Size Region Split Policy Split By MaxFileSize of Biggest CF
1000万URL Meta Content History…
100万HTML Raw
定制:Constant Family Size Region Split Policy Split By MaxFileSize of Any CF
正在阅读:
DTCC2014:Hadoop生态技术在阿里全网商品搜索实战-阿里巴巴 - 王峰_IT168文库07-20
集合竞价基础知识08-18
阴离子表面活性剂综述作业04-17
先进部门、先进个人评比办法04-23
市民政局工作总结及2022年工作规划范文04-23
第1章 勾股定理 单元测试103-19
安装工程预算与施工组织管理509-01
英语人教版九年级上册英语作文总结04-22
什么的味道半命题作文450字——爱的味道05-06
排列组合、概率与统计04-03
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 王峰
- 阿里巴巴
- 阿里
- 全网
- 文库
- 实战
- DTCC2014
- 生态
- 商品
- Hadoop
- 搜索
- 技术
- 168
- 寻侠-科举-题库(全)不敢保证但很多都有
- 团队执行力心得体会(5篇)
- 项目8 局域网服务器的搭建
- CagA_H_pylori对肝癌_省略_SMAD4和SMAD7表达的影响_刘丽
- 江西省县级教研室达标评估方案
- 人教版八年级语文下册第二单元测试题
- 人力资源管理课程作业
- 03325劳动关系学08年10月试卷(附答案)
- 轻松看懂电脑进程
- JavaEE设计图书管理系统
- 政治学复习提纲(思想政治教育专业)
- 浅谈实时动态RTK技术在工程测量中的应用
- 谈谈初中数学教学中的“转差”经验
- 一般商业性助学贷款
- 中国强制检定工作计量器具明细录
- 2014七年级竞赛数学试题附答案
- 第三章 雷达天线及伺服系统
- 台州市2011年高三年级调考试题及答案 理科数学
- 金属晶体的原子堆积模型
- 孩子学钢琴要培养5项能力