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
來自: InfoQ