佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 全面剖析eBay的Hadoop集群應(yīng)用及大數(shù)據(jù)管理

全面剖析eBay的Hadoop集群應(yīng)用及大數(shù)據(jù)管理

熱門標簽:Linux服務(wù)器 服務(wù)外包 呼叫中心市場需求 百度競價排名 網(wǎng)站排名優(yōu)化 AI電銷 地方門戶網(wǎng)站 鐵路電話系統(tǒng)

eBay, 全球最大的在線交易平臺,由程序員Pierre Omidyar于1995年勞動節(jié)周末在美國創(chuàng)立,起初叫AuctionWeb,于1997年7月正式改名為eBay,今年九月將迎來其20周年紀念。

eBay第一筆交易是一只破損的激光筆,成交價14.83美元,Pierre主動聯(lián)系買家以確信其知道這是一只破損的激光筆,而買家則回復“我是一個破損激光筆收藏家”。從此,eBay 20年的發(fā)展正式開始了,帶領(lǐng)了電子商務(wù)產(chǎn)業(yè)的極速成長,如今,eBay已經(jīng)成為全球最大的在線交易網(wǎng)站,買家分布于全球190多個國家,超過2500萬活躍賣家,1.57億活躍買家,8億活躍商品,通過Connected Commerce連接著全球各地的買家和買家,2014年產(chǎn)生超過2550億美元的GMV,其中來自移動端的GMV超過280億美元。據(jù)統(tǒng)計,在美國每五秒售出一個手袋,在澳大利亞每分鐘通過移動端售出一雙鞋,在德國每10分鐘通過移動端售出一輛汽車或卡車。

如此大量的用戶及交易下,數(shù)據(jù)成為eBay的重中之中,從點擊流到搜索,商品查看,交易以及愿望清單等不斷進行收集。在eBay數(shù)據(jù)平臺中存儲著超過100PB的數(shù)據(jù),其關(guān)鍵是如何獲取、存儲、加工和分析數(shù)據(jù),并釋放數(shù)據(jù)的價值使之成為行動指南,而各個大數(shù)據(jù)平臺,則在各個方面為上萬名分析師及業(yè)務(wù)用戶提供了堅實的保障和基礎(chǔ),并不斷創(chuàng)新以滿足日新月異的變革和需求。

eBay目前的大數(shù)據(jù)平臺分為三層,數(shù)據(jù)整合層:負責數(shù)據(jù)獲取,處理及清洗等ETL工作,包括批處理及實時處理能力,包括相關(guān)的商業(yè)產(chǎn)品和開源產(chǎn)品;數(shù)據(jù)平臺層:主要由傳統(tǒng)數(shù)據(jù)倉庫(EDW),基于Teradata集群,總?cè)萘砍^10PB;奇點(Singularity),存放半結(jié)構(gòu)化及深層次結(jié)構(gòu)化數(shù)據(jù)存儲,總?cè)萘砍^36PB;以及Hadoop集群,總?cè)萘砍^100PB;數(shù)據(jù)訪問層:通過各種工具,平臺為業(yè)務(wù)用戶和分析師提供訪問和分析相關(guān)數(shù)據(jù)的能力,包括各種商業(yè)工具,開源產(chǎn)品及自研的各種平臺等。本文將著重介紹eBay在相關(guān)領(lǐng)域的發(fā)展,平臺及未來發(fā)展趨勢。

Connect with Hadoop

1. Hadoop在eBay的發(fā)展歷史

eBay最早的Hadoop應(yīng)用是在eBay研究實驗室(eBay Research Lab, eRL)構(gòu)建,主要用作日志分析,以期提高每天的日志處理速度。最初的版本是0.18.2,4個節(jié)點,存儲并處理約幾百GB的日志,最大的處理能力為44個Map。

隨后,eBay搜索團隊構(gòu)建了10個節(jié)點的集群開始了Hadoop在eBay搜索領(lǐng)域的發(fā)展,并在2012年上線了基于HBase的搜索平臺:Cassini。

2010年,eBay 上線了基于CDH2的集群,擁有532個節(jié)點,超過5PB的存儲容量,并于2012年上線了基于HDP的集群,超過3000個節(jié)點,容量超過50PB。2014年,總節(jié)點數(shù)據(jù)超過10000多個,存儲容量超過170PB,活躍用戶超過2000多,現(xiàn)在,相關(guān)規(guī)模還在不斷增長中。隨之帶來的管理、監(jiān)控、分析和存儲的挑戰(zhàn)越來越嚴峻。

基礎(chǔ)架構(gòu)的創(chuàng)新主導了Hadoop 的進化,從最初的基于HDFS和MapReduce的批處理應(yīng)用不斷演變,第一代的Hadoop提供了靈活和可擴展的數(shù)據(jù)結(jié)構(gòu)和處理能力,并在大數(shù)據(jù)興起之時滿足了公司各種大小數(shù)據(jù)處理需求提供了民主化需求。然而畢竟其只是第一步,有著各種限制,如果將其對比于操作系統(tǒng)的話, 第一代Hadoop就如操作系統(tǒng)和應(yīng)用,例如記事本捆綁在一起,且僅有一個應(yīng)用,即MapReduce。然而隨之而來的大量任務(wù)導致了調(diào)度瓶頸,從而促成了YARN(Yet Another Resource Negotiator)項目的成立和發(fā)展,其解決了JobTracker在超大規(guī)模集中成為瓶頸等問題,并支持各種應(yīng)用通過YARN來進行資源調(diào)度和管理從而將Hadoop帶入了下一個時代,

下一代的Hadoop取得了巨大的躍進,從面向批處理到提供交互式的處理能力。并提供了戰(zhàn)略性的決定以支持獨立的執(zhí)行模式,例如MapReduce可以作為YARN上的一個應(yīng)用運行。從此,通過YARN,Hadoop變成一個真正的數(shù)據(jù)操作系統(tǒng)。

現(xiàn)在,從交易型數(shù)據(jù)庫,文檔數(shù)據(jù)庫及圖數(shù)據(jù)庫的數(shù)據(jù)都可以存儲在Hadoop之上,通過基于YARN的應(yīng)用可以訪問數(shù)據(jù)而無需復制或者在不同的應(yīng)用中移動數(shù)據(jù),包括MapReduce、Hive、HBase以及Spark等各種應(yīng)用。從而提供了非常豐富的數(shù)據(jù)處理和創(chuàng)新能力。一個統(tǒng)一的數(shù)據(jù)存儲,利用的平臺將是確定的趨勢。

2. 分層存儲

當前普遍的認知是使用廉價硬件組建Hadoop集群以存儲超大容量數(shù)據(jù)及提供計算能力,例如,一個1000節(jié)點的集群,每個節(jié)點附帶20TB的存儲能力,則整個集群可以存儲20PB的數(shù)據(jù)。所有的機器都有足夠的計算能力以實現(xiàn)Hadoop的名言:“Moving Computation is Cheaper than Moving Data”。

不同類型的數(shù)據(jù)集通常都存放在同一個集群中,并被不同的團隊共享以運行各種應(yīng)用來滿足業(yè)務(wù)需求。而數(shù)據(jù)的一個共同特點是其使用率會隨著時間而逐漸降低,越新的數(shù)據(jù)使用率越高,而越舊數(shù)據(jù)的訪問次數(shù)逐漸降低。初次生成的數(shù)據(jù)有著最大的使用率,我們將其定義為Hot,基于我們的分析,一周內(nèi)訪問量下降的數(shù)據(jù)被稱為Warm,而之后三個月內(nèi)只有少量訪問的數(shù)據(jù)被稱為Cold。最后,訪問率降低到每年僅有幾次甚至為零的數(shù)據(jù)集被稱為Frozen,如下表:

由此分析,將不同熱度的數(shù)據(jù)存放在同一個集群,使用相同的計算和存儲資源則變得越來越有問題,隨著時間的增長,冷數(shù)據(jù)越來越多,將占據(jù)寶貴的存儲和計算資源,而當有更多熱數(shù)據(jù)需要進來或者作大量計算的時候,相應(yīng)的存儲變成了瓶頸,很多其他公司甚至提到了刪除低價值數(shù)據(jù)等做法。在管理和運維超大Hadoop集群時如何處理不同熱度的數(shù)據(jù)成為非常迫切的需求和現(xiàn)實挑戰(zhàn)。

將低熱度數(shù)據(jù)集與高熱度數(shù)據(jù)集作不同存放的策略已勢在必行,在Hadoop 2.3中,HDFS支持了分層存儲,通過在集群中添加歸檔存儲能力為冷數(shù)據(jù)提供深層存儲能力,且保持對于上層應(yīng)用的透明性。由于數(shù)據(jù)依然在同一個集群中,因此當請求需要訪問相應(yīng)冷數(shù)據(jù)時依然可以及時獲得。例如,我們可以為上面的例子中添加100個節(jié)點,每個節(jié)點附帶200TB存儲但僅使用有限的計算資源,于是整個集群的總量將變?yōu)?0PB (20PB 磁盤+20PB歸檔)。通過相關(guān)數(shù)據(jù)策略,將不同熱度的數(shù)據(jù)分布到不同存儲上,例如,假設(shè)每份數(shù)據(jù)按Hadoop默認設(shè)置復制三份,對于Hot型數(shù)據(jù)則將三份數(shù)據(jù)全部存放在快速磁盤上,對于Warm類型數(shù)據(jù)僅存放一份拷貝在快速磁盤而其余兩份放到歸檔存儲,將Cold和Frozen數(shù)據(jù)全部存放于歸檔中。從而將不同的數(shù)據(jù)進行有效分配,示例如下圖:

分層存儲已經(jīng)在eBay最大 Hadoop集群上使用,該集群擁有40PB的存儲,我們?yōu)橹砑恿祟~外的10PB存儲,每個節(jié)點附帶220TB容量,由此將Warm、Cold及Frozen數(shù)據(jù)集逐步進行遷移。而由于僅需有限的計算能力,這些節(jié)點的每GB成本比其他節(jié)點便宜4倍左右。后續(xù),eBay將持續(xù)在這方面進行研究和投入,例如SSD存儲等。

3. 監(jiān)控、告警及自動化運維

當集群數(shù)量達到成千上萬的規(guī)模時,監(jiān)控、告警及自動化運維是保障數(shù)據(jù)高可用性及為上層應(yīng)用提供持續(xù)服務(wù)的基礎(chǔ)。在eBay的日常工作中,Hadoop集群的管理和維護任務(wù)相當繁重,而現(xiàn)有的管理和監(jiān)控工具無法滿足多集群,大規(guī)模及分布式收集日志,監(jiān)控數(shù)據(jù)的需求。因此eBay研發(fā)了名為Eagle的集群監(jiān)控告警平臺。

Eagle主要由基礎(chǔ)的核心框架以及針對不同應(yīng)用領(lǐng)域的諸多app組成,專注于解決大數(shù)據(jù)時代大型分布式系統(tǒng)自身監(jiān)控這個復雜的大數(shù)據(jù)問題,具有高擴展性、高實時性,以及高可用性等特點,同時支持使用機器學習為復雜情況提供預測分析。

輕量級分布式流處理框架:以DAG為基礎(chǔ)模型對通用流處理范式進行抽象,在開發(fā)期用戶只需基于DSL API定義監(jiān)控程序的流式處理邏輯,運行期再選擇實際物理執(zhí)行環(huán)境,默認支持單進程和Storm,同時也支持對于其他執(zhí)行環(huán)境的擴展,比如Spark Streaming 或者 Flink等。

實時流聚合引擎:提供簡單易用的實時流聚合規(guī)則定義語法,元數(shù)據(jù)驅(qū)動,動態(tài)部署,實現(xiàn)線性擴展的實時監(jiān)控數(shù)據(jù)流聚合。

分布式Policy引擎:分布式實時預警規(guī)則執(zhí)行引擎,提供類SQL的描述性規(guī)則定義語法以及機器學習自動等多種擴展,支持預警規(guī)則的動態(tài)加載和分區(qū)。

存儲和查詢框架:通用監(jiān)控數(shù)據(jù)存儲框架,可用于存儲和查詢?nèi)罩?、指標、警報、事件等多種類型數(shù)據(jù),默認支持HBase,并針對HBase進行多種優(yōu)化和擴展,比如coprocesser,二級索引以及分區(qū)等,也支持其他存儲類型的擴展比如RDBMS等,并提供通用的ORM, REST API以及易用強大的類SQL查詢語法。

可定制化監(jiān)控報表:提供類Notebook的交互式實時可視化分析,也支持進一步選取部分圖標,并定義布局保存為dashboard以供分享或者持續(xù)監(jiān)控。

除了對日常集群指標監(jiān)控外,Eagle集成了Job Performance Analyzer(JPA),通過實時監(jiān)控Hadoop 平臺上的作業(yè)當前和歷史執(zhí)行狀態(tài),提供多維度不同粒度的性能分析,支持多種異常預警和性能警告,比如作業(yè)運行時間過長、讀寫過慢、數(shù)據(jù)傾斜、失敗任務(wù)比率過多等,可有效在作業(yè)無法滿足SLA之前提供預警和性能建議。

同時結(jié)合機器學習模型,基于任務(wù)分布或指標變化等協(xié)同預測任務(wù)或者服務(wù)器節(jié)點等可能潛在的異常,并集成Remediation系統(tǒng)對系統(tǒng)進行自動修復。同時,針對異常用戶行為,危險操作等,開發(fā)了Eagle DAM(Data Activities Monitoring)的安全監(jiān)控應(yīng)用,通過自定義策略及機器學習模型,對關(guān)鍵數(shù)據(jù),操作等進行監(jiān)控和報警,防范于未然。

4. 在線交互分析

當數(shù)據(jù)規(guī)模隨著用戶群體的多樣化拓展而不斷增長時,我們的用戶,比如分析師與業(yè)務(wù)部門,希望能在保持最低延遲水平的前提下繼續(xù)使用自己所熟悉的工具和方式來訪問和分析存儲于Hadoop之上的超大規(guī)模數(shù)據(jù)集,并且希望數(shù)據(jù)的獲取、處理、存儲和分析同時在Hadoop集群上完成,而無需再將數(shù)據(jù)從一個數(shù)據(jù)源遷移到另外一個數(shù)據(jù)源。在研究和評估了多種開源及商業(yè)產(chǎn)品后,eBay中國研發(fā)中心于2013年中正式立項啟動了OLAP on Hadoop項目,并在2014年10月開源,之后貢獻給了Apache基金會,現(xiàn)在正在孵化階段。

Apache Kylin通過映射Hive中星型結(jié)構(gòu)的表,由建模者定義相關(guān)維度和度量及其他設(shè)置而生成元數(shù)據(jù),構(gòu)建引擎基于元數(shù)據(jù)自動生成相關(guān)的Hive查詢,一系列的MapReduce 任務(wù)及HBase操作,從而將數(shù)據(jù)從Hive中讀出并進行預先計算,將結(jié)果存放到HBase。之后,相同數(shù)據(jù)模型的查詢都將直接讀取已經(jīng)被計算好的存放于HBase中的數(shù)據(jù),從而實現(xiàn)秒級甚至亞秒級查詢延遲。

在該項目初始階段調(diào)研和評估過包括Impala,Stinger,Phoenix on HBase, Teradata,MicroStrategy等多種開源和商業(yè)選項,最后發(fā)現(xiàn)沒有一種可以滿足eBay實際業(yè)務(wù)需求,為超大規(guī)模數(shù)據(jù)集提供秒級交互式查詢能力。開發(fā)團隊在研究過眾多技術(shù)、論文和參考實現(xiàn)后,最終選擇了MOLAP的方式,即為數(shù)據(jù)模型作預先計算,以空間換時間的方式,為前端業(yè)務(wù)用戶和分析師提供在TB甚至PB級別數(shù)據(jù)集上交互式的查詢能力。

在上面的拓撲圖中,最下面的節(jié)點為實際數(shù)據(jù),而之上的每一個節(jié)點則代表了一種維度組合,理論上所有的SQL查詢都能被該拓撲圖覆蓋,因此進行相關(guān)的預先計算后,只要引擎能正確解析查詢語句并訪問正確的數(shù)據(jù)存放地址就可以在極短的時間內(nèi)獲得結(jié)果。在實際開發(fā)過程中,Kylin系統(tǒng)有效地降低了維度,減少了非必要組合的計算,增加了多種壓縮和編碼算法,例如Trie字典編碼技術(shù)、Partial Cube計算、分組聚合等等。實際生產(chǎn)環(huán)境中,90%ile的查詢延遲在1.5秒,95%ile小于5秒(最近30天)。

雖然基于MOLAP的應(yīng)用系統(tǒng)已經(jīng)為相關(guān)的業(yè)務(wù)用戶提供了在大規(guī)模數(shù)據(jù)集上的查詢應(yīng)用,但由于構(gòu)建Cube需要花費大量的系統(tǒng)資源和時間,一方面對集群帶來了較大的壓力,另一方面很難滿足對實時型要求高的需求。因此,Kylin團隊為此研發(fā)了下一代架構(gòu),通過Micro Batch模式對流數(shù)據(jù)進行支持,如下圖所示,每隔固定的時間讀取來自上層數(shù)據(jù)流中的數(shù)據(jù)并促發(fā)聚合,最終導入到目標Cub俄中,目前已經(jīng)在eBay內(nèi)部上線相關(guān)案例并取得了良好的反饋。

另外,對于Cube引擎也引入了新的算法,實測結(jié)果表明能夠提供一倍以上的構(gòu)建速度,并大大降低對系統(tǒng)資源的要求。此外,我們對Spark也投入了相關(guān)的研究,第一版的Spark Cubing引擎業(yè)以完成并準備上線實測。

5. 數(shù)據(jù)生態(tài)

以上簡要介紹了eBay最近幾年在大數(shù)據(jù)平臺方面的發(fā)展和主要實踐,基礎(chǔ)平臺的發(fā)展和建設(shè)離不開用戶,合作伙伴以及管理層幫助和指導,在這個過程中,也逐漸構(gòu)建起基于Hadoop及企業(yè)級數(shù)據(jù)倉庫的數(shù)據(jù)生態(tài),各個業(yè)務(wù)單位,分析團隊利用相關(guān)平臺和數(shù)據(jù)為支持極速變化的業(yè)務(wù)和快速增長的數(shù)據(jù)提供豐富的分析和決策支持,共同構(gòu)建eBay的大數(shù)據(jù)生態(tài)。

連接每個人

通過大數(shù)據(jù)平臺及應(yīng)用,eBay能為買家和賣家提供更加良好的用戶體驗和服務(wù),不斷滿足日益變化的市場和環(huán)境,并通過創(chuàng)新的技術(shù)來降低對環(huán)境的影響和依賴。今天,eBay知道你,明天,eBay將理解你并連接你與未來。

eBay的秘密武器:用大數(shù)據(jù)激發(fā)購買欲
eBay上活躍著180萬買家和賣家,網(wǎng)站每天要產(chǎn)生大量的數(shù)據(jù)。在任何給定的時間點,會有大約350萬件商品上市銷售,通過eBay的拍賣搜索引擎每天有超過250萬次查詢。eBay搜索平臺副總裁Hugh Williams說,eBay的Hadoop集群和Teradata設(shè)備中通常保存有10PB的原始數(shù)據(jù)。在線拍賣網(wǎng)站eBay使用大數(shù)據(jù)的諸多功能,例如衡量網(wǎng)站性能和檢測欺詐。但他們收集大量數(shù)據(jù)的更有趣的用途之一,是促使用戶在網(wǎng)站上購買更多的商品。

雖然eBay無法強制用戶購買他們遇到的每一款產(chǎn)品,但eBay充分利用大數(shù)據(jù)的優(yōu)勢進行大力促銷。做法之一就是優(yōu)化搜索引擎和搜索結(jié)果,通過收集到的數(shù)據(jù)分析用戶的行為模式,對結(jié)果做出調(diào)整。

“如果時光倒流幾年,在eBay使用搜索引擎,你可能會發(fā)現(xiàn)它太‘字面’了,”威廉姆斯說,“有些事情你可以向搜索引擎表達,它會從字面上找到用戶所需要的信息,但它并沒有真正理解用戶的意圖。”

“我們一直在努力使我們的搜尋引擎更直觀。”例如,通過使用大數(shù)據(jù),eBay發(fā)現(xiàn)如果用戶想要購買一個Pilzlampe,這是一種有收藏價值的德國蘑菇燈,當他們在eBay搜索引擎中輸入“pilz lampe”時更可能進行購買,因為這樣輸入會有更多的結(jié)果。

在搜索引擎中,簡單地在一個詞中間加一個空格鍵,eBay就可以通過網(wǎng)站提高銷售的機會。有了這樣的信息,eBay通過其搜索引擎改變和重寫了用戶的搜索查詢,添加了同義詞和替代性條款,以便帶來更多的相關(guān)結(jié)果。

不僅如此,eBay通過使用大數(shù)據(jù)對以下問題做出預測:列出的產(chǎn)品是否會賣出,會賣什么價錢,這會對拍賣網(wǎng)站的搜索引擎產(chǎn)生多大的影響。

所有這一切都可以增加用戶購買的可能性。

Wlilliams認為,塑造的搜索查詢方式的實施因素是有風險的。“實現(xiàn)一個因素需要幾個月的工程,而且有非常高的風險,因為我們不知道在幫助我們的客戶尋找項目的時候,它對客戶是否真的有用,”他說。這就是為什么eBay通常在網(wǎng)站上運行一些測試,得到用戶的樣本組來衡量響應(yīng)。

另一個挑戰(zhàn)是將搜索查詢的環(huán)境考慮在內(nèi)。一個例子是,如果用戶查找“GeelongCats”,eBay的搜索引擎可能只是將“Cat”作為關(guān)鍵字,并在寵物類里搜索 ——當用戶是搜索運動商品時這沒有太大用處。

Williams表示:“在我們的掌控范圍內(nèi)有可能出現(xiàn)非常微妙的問題,所以我們需要數(shù)據(jù)供科學家研究這些問題。”

標簽:湘潭 蘭州 仙桃 湖南 銅川 崇左 衡水 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《全面剖析eBay的Hadoop集群應(yīng)用及大數(shù)據(jù)管理》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    尼玛县| 伊金霍洛旗| 泾源县| 司法| 峨眉山市| 彭水| 时尚| 宜章县| 太谷县| 盐亭县| 体育| 清新县| 江城| 长宁区| 麻江县| 莎车县| 宁津县| 富民县| 宁强县| 陇南市| 扶风县| 同仁县| 石林| 虹口区| 泊头市| 巴林左旗| 鄂伦春自治旗| 邛崃市| 永兴县| 虹口区| 迭部县| 库尔勒市| 云霄县| 嘉峪关市| 岳阳县| 闸北区| 莱阳市| 上思县| 上蔡县| 齐河县| 通山县|