eBay使用Hadoop和HBase成功构建下一代搜索

eBay在Hadoop世界(Hadoop World)大会的主题演讲中展示了一种全新的搜索引擎Cassini的架构,该引擎预计在2012年上线。它对所有的内容和用户的元数据进行索引来得到更好的排名,并每小时刷新索引。它使用Apache Hadoop来支持每小时进行的索引更新,使用Apache HBase对随机存取信息提供支持。Hugh E. Williams(eBay交易市场的搜索平台和体验部门的副总裁)发表了演讲,介绍了项目的规模、使用的技术和完全重建eBay核心站点搜索过程中得到的经验。这次重建工作由100多位工程师耗时18个月完成。新Cassini平台将能支持:

  • 9700万活动的买家和卖家
  • 每天2.5亿次查询
  • 2亿多件商品和5万多种分类

eBay已经在Hadoop和Teredata[1]集群存储了9PB用来做分析的数据,但这将是生产环境里提供给用户直接使用第一个应用。新系统将会比当前的系统(Galileo)规模更大:

老系统: Galileo 新系统: Cassini
10个排名因子 100个排名因子
默认只匹配标题 默认使用所有字段匹配
上线、监测、修复需要人工干预 上线、监测、修复不需要人工干预

Cassini将保留90天的历史数据在线——按照目前的规模是10亿条数据记录,包括用来做排名的用户和行为数据。支持搜索系统所需的大部分工作是由每小时在Hadoop上运行的批处理作业完成的。各种不同索引将在同一集群中生成(对Galileo的一项改进)。Hadoop环境使eBay能够恢复或重新分类整个站点的库存,这是一项重大改进。

记录存储在HBase里,通常在每个小时索引更新的时候进行扫描。当一条新的记录上线,几分钟内就能从HBase里进行查询,并被加入实时索引里。HBase还支持批量和增量写操作和快速读写记录注释。

Williams提到,团队熟悉Hadoop的运维,系统运行很稳定,基本没出什么问题。与此相反,他指出HBase似乎很难驾驭。Williams表示eBay仍然致力于使用该技术,向社区提交发现的问题的补丁。在过去的两个星期里,事情已经顺利很多了。团队对于使用HBase还是新手,在测试规模的时候遇到一些问题:

* 产品集群的负载配置

* 硬件问题

* 稳定性:不稳定的区域服务器,不稳定的主服务器,在切换的时候区域服务被堵塞

* 监控HBase的健康:往往直到问题影响到线上服务的时候才被发现,尽管团队已经加入大量的监控装置

* 管理多步MapReduce作业

总体来说,Williams觉得项目虽然宏大,但是目前进展顺利,团队已经使用Hadoop和HBase构建出一种显著改善的搜索体验。

译注

[1] Teradata 是数据仓库创新和分析性解决方案开发领域公认的全球领先者. 主页:http://www.teradata.com

查看英文原文:eBay readies next generation search built with Hadoop and HBase

分类:系统架构 时间:2014-05-04 人气:2
本文关键词: 搜索引擎技术
分享到:

相关文章

iOS 开发

Android 开发

Python 开发

JAVA 开发

开发语言

PHP 开发

Ruby 开发

搜索

前端开发

数据库

开发工具

开放平台

Javascript 开发

.NET 开发

云计算

服务器

Copyright (C) codeweblog.com, All Rights Reserved.

CodeWeblog.com 版权所有 闽ICP备15018612号

processed in 0.034 (s). 12 q(s)