eBay在Hadoop世界(Hadoop World)大會(huì)的主題演講中展示了一種全新的搜索引擎Cassini的架構(gòu),該引擎預(yù)計(jì)在2012年上線。它對(duì)所有的內(nèi)容和用戶的元數(shù)據(jù)進(jìn)行索引來得到更好的排名,并每小時(shí)刷新索引。它使用Apache Hadoop來支持每小時(shí)進(jìn)行的索引更新,使用Apache HBase對(duì)隨機(jī)存取信息提供支持。Hugh E. Williams(eBay交易市場(chǎng)的搜索平臺(tái)和體驗(yàn)部門的副總裁)發(fā)表了演講,介紹了項(xiàng)目的規(guī)模、使用的技術(shù)和完全重建eBay核心站點(diǎn)搜索過程中得到的經(jīng)驗(yàn)。這次重建工作由100多位工程師耗時(shí)18個(gè)月完成。新Cassini平臺(tái)將能支持:
——9700萬活動(dòng)的買家和賣家
——每天2.5億次查詢
——2億多件商品和5萬多種分類
eBay已經(jīng)在Hadoop和Teredata[1]集群存儲(chǔ)了9PB用來做分析的數(shù)據(jù),但這將是生產(chǎn)環(huán)境里提供給用戶直接使用第一個(gè)應(yīng)用。新系統(tǒng)將會(huì)比當(dāng)前的系統(tǒng)(Galileo)規(guī)模更大:老系統(tǒng): Galileo 新系統(tǒng): Cassini 10個(gè)排名因子 100個(gè)排名因子 默認(rèn)只匹配標(biāo)題 默認(rèn)使用所有字段匹配 上線、監(jiān)測(cè)、修復(fù)需要人工干預(yù) 上線、監(jiān)測(cè)、修復(fù)不需要人工干預(yù) Cassini將保留90天的歷史數(shù)據(jù)在線——按照目前的規(guī)模是10億條數(shù)據(jù)記錄,包括用來做排名的用戶和行為數(shù)據(jù)。支持搜索系統(tǒng)所需的大部分工作是由每小時(shí)在Hadoop上運(yùn)行的批處理作業(yè)完成的。各種不同索引將在同一集群中生成(對(duì)Galileo的一項(xiàng)改進(jìn))。Hadoop環(huán)境使eBay能夠恢復(fù)或重新分類整個(gè)站點(diǎn)的庫存,這是一項(xiàng)重大改進(jìn)。 記錄存儲(chǔ)在HBase里,通常在每個(gè)小時(shí)索引更新的時(shí)候進(jìn)行掃描。當(dāng)一條新的記錄上線,幾分鐘內(nèi)就能從HBase里進(jìn)行查詢,并被加入實(shí)時(shí)索引里。HBase還支持批量和增量寫操作和快速讀寫記錄注釋。 Williams提到,團(tuán)隊(duì)熟悉Hadoop的運(yùn)維,系統(tǒng)運(yùn)行很穩(wěn)定,基本沒出什么問題。與此相反,他指出HBase似乎很難駕馭。Williams表示eBay仍然致力于使用該技術(shù),向社區(qū)提交發(fā)現(xiàn)的問題的補(bǔ)丁。在過去的兩個(gè)星期里,事情已經(jīng)順利很多了。團(tuán)隊(duì)對(duì)于使用HBase還是新手,在測(cè)試規(guī)模的時(shí)候遇到一些問題: * 產(chǎn)品集群的負(fù)載配置 * 硬件問題 * 穩(wěn)定性:不穩(wěn)定的區(qū)域服務(wù)器,不穩(wěn)定的主服務(wù)器,在切換的時(shí)候區(qū)域服務(wù)被堵塞 * 監(jiān)控HBase的健康:往往直到問題影響到線上服務(wù)的時(shí)候才被發(fā)現(xiàn),盡管團(tuán)隊(duì)已經(jīng)加入大量的監(jiān)控裝置 * 管理多步MapReduce作業(yè) 總體來說,Williams覺得項(xiàng)目雖然宏大,但是目前進(jìn)展順利,團(tuán)隊(duì)已經(jīng)使用Hadoop和HBase構(gòu)建出一種顯著改善的搜索體驗(yàn)。(譯者 詹濤)