eBay使用Hadoop和HBase成功构建下一代搜索
admin 13年前
<p> eBay 在 <a href="/misc/goto?guid=4958200755619407176">Hadoop 世界(Hadoop World)大会</a>的主题演讲中展示了一种全新的搜索引擎 Cassini 的架构,该引擎预计在2012年上线。它对所有的内容和用户的元数据进行索引来得到更好的排名,并每小时刷新索引。它使用 <a href="/misc/goto?guid=4958183274341148845">Apache Hadoop</a> 来支持每小时进行的索引更新,使用 <a href="/misc/goto?guid=4958186451922799198">Apache HBase</a> 对随机存取信息提供支持。Hugh E. Williams(eBay 交易市场的搜索平台和体验部门的副总裁)发表了演讲,介绍了项目的规模、使用的技术和完全重建 eBay 核心站点搜索过程中得到的经验。这次重建工作由100多位工程师耗时18个月完成。新 Cassini 平台将能支持:</p> <ul> <li>9700万活动的买家和卖家 </li> <li>每天2.5亿次查询 </li> <li>2亿多件商品和5万多种分类 </li> </ul> <p> eBay 已经在 Hadoop 和 Teredata<sup>[1]</sup>集群存储了9PB 用来做分析的数据,但这将是生产环境里提供给用户直接使用第一个应用。新系统将会比当前的系统(Galileo)规模更大:</p> <p>老系统: Galileo 新系统: Cassini</p> <p>10个排名因子100个排名因子默认只匹配标题默认使用所有字段匹配上线、监测、修复需要人工干预上线、监测、修复不需要人工干预</p> <p> Cassini 将保留90天的历史数据在线——按照目前的规模是10亿条数据记录,包括用来做排名的用户和行为数据。支持搜索系统所需的大部分工作是由每小时在 Hadoop 上运行的批处理作业完成的。各种不同索引将在同一集群中生成(对 Galileo 的一项改进)。Hadoop 环境使 eBay 能够恢复或重新分类整个站点的库存,这是一项重大改进。</p> <p> 记录存储在 HBase 里,通常在每个小时索引更新的时候进行扫描。当一条新的记录上线,几分钟内就能从 HBase 里进行查询,并被加入实时索引里。HBase 还支持批量和增量写操作和快速读写记录注释。</p> <p> Williams 提到,团队熟悉 Hadoop 的运维,系统运行很稳定,基本没出什么问题。与此相反,他指出 HBase 似乎很难驾驭。Williams 表示 eBay 仍然致力于使用该技术,向社区提交发现的问题的补丁。在过去的两个星期里,事情已经顺利很多了。团队对于使用 HBase 还是新手,在测试规模的时候遇到一些问题:</p> <ul> <li>产品集群的负载配置 </li> <li>硬件问题 </li> <li>稳定性:不稳定的区域服务器,不稳定的主服务器,在切换的时候区域服务被堵塞 </li> <li>监控 HBase 的健康:往往直到问题影响到线上服务的时候才被发现,尽管团队已经加入大量的监控装置 </li> <li>管理多步 MapReduce 作业 </li> </ul> <p> 总体来说,Williams 觉得项目虽然宏大,但是目前进展顺利,团队已经使用 Hadoop 和 HBase 构建出一种显著改善的搜索体验。</p> <p> <strong>译注</strong></p> <p> [1] Teradata 是数据仓库创新和分析性解决方案开发领域公认的全球领先者. 主页:<a href="/misc/goto?guid=4958200757754131043">http://www.teradata.com</a></p> <p> <strong>查看英文原文:</strong><a href="/misc/goto?guid=4958200758484249259">eBay readies next generation search built with Hadoop and HBase</a><br /> 来自: <a id="link_source2" href="/misc/goto?guid=4958200759224273882" target="_blank">InfoQ</a></p> <!--end: news_body -->