Hadoop教程:阿里巴巴搜索離線技術(shù)團(tuán)隊(duì)負(fù)責(zé)人談Hadoop
Hadoop從互聯(lián)網(wǎng)誕生,但近些年在整個(gè)大數(shù)據(jù)領(lǐng)域呈現(xiàn)爆發(fā)式發(fā)展和進(jìn)化,尤其是在2013年Hadoop 2.0正式Release后,Hadoop有了正式的 Operation System—YARN,從此Hadoop不再只是MapReduce的代名詞,Storm、Spark、Graph,MPI等越來越多的計(jì)算模型可以運(yùn) 行在YARN上,批處理計(jì)算、實(shí)時(shí)流式計(jì)算、迭代交互計(jì)算等都可以同時(shí)運(yùn)行在Hadoop集群上,Hadoop已經(jīng)成為大數(shù)據(jù)計(jì)算的全能平臺。HBase 隨著近幾年的高速發(fā)展和應(yīng)用,已經(jīng)成為大數(shù)據(jù)技術(shù)領(lǐng)域最主流的NoSQL數(shù)據(jù)庫;Tez和Spark的出現(xiàn)讓Hive擁有了更高效的計(jì)算引擎可以選 擇;Impala和Stringer更是將大數(shù)據(jù)SQL帶入到了Realtime時(shí)代;Ambari的誕生和快速發(fā)展也大幅降低了Hadoop集群的運(yùn)維 門檻。隨著Hadoop開源社區(qū)不斷涌現(xiàn)出各種令人興奮的新技術(shù),逐步完善的Hadoop生態(tài)系統(tǒng)已經(jīng)成為大數(shù)據(jù)行業(yè)發(fā)展的核心動(dòng)力。
本次QCon上海的Hadoop專題出品人王峰(莫問)接受了InfoQ郵件采訪,談到自己在阿里的工作,YARN的優(yōu)勢以及Stream和Spark等平臺的比較。
InfoQ:為什么會做這次QCon上海“Hadoop,超越MapReduce”的出品人?
王峰:我在阿里的8年中一直從事搜索和分布式技術(shù)研發(fā),自2010年開始基于Hadoop生態(tài)技術(shù)構(gòu)建阿里的搜索離線技術(shù)平臺,統(tǒng)一支持淘寶、天 貓、1688、一淘和云搜索等多條搜索業(yè)務(wù)線的后臺數(shù)據(jù)處理,親自帶領(lǐng)團(tuán)隊(duì)經(jīng)歷了Hadoop從1.0到2.0的平臺演化之路,本次受我們阿里的朱鴻老師 邀請,有幸成為“Hadoop,超越MapReduce”的出品人。
InfoQ:您一直負(fù)責(zé)為阿里集團(tuán)服務(wù)業(yè)務(wù)提供平臺數(shù)據(jù)支持,請給大家簡要介紹一下整體情況?
王峰:我負(fù)責(zé)的阿里搜索離線技術(shù)團(tuán)隊(duì),為阿里集團(tuán)的搜索業(yè)務(wù)提供統(tǒng)一的離線基礎(chǔ)數(shù)據(jù)平臺支持,目前我們基于YARN構(gòu)建了統(tǒng)一的計(jì)算平臺,支持批處 理、實(shí)時(shí)流式等多種計(jì)算模型支持;基于HBase構(gòu)建了統(tǒng)一存儲平臺,支持KV,SQL,Queue等多種存儲模型,計(jì)算+存儲共享集群資源,同一套基礎(chǔ) 架構(gòu)同時(shí)支持淘寶、天貓、1688、一淘和云搜索等多條搜索業(yè)務(wù)線,為阿里的搜索引擎提供實(shí)時(shí)、增量、全量的全數(shù)據(jù)支持。
InfoQ:2013年阿里搜索全面升級YARN,比起之前來講有什么優(yōu)勢呢?
王峰:第一次接觸YARN是在2011年低在美國參加Hadoop World,隨即造訪了Hortonworks,更加詳細(xì)深入的理解了YARN的設(shè)計(jì)思路,感覺這個(gè)東西如果成熟了,就是Hadoop OS,Hadoop的計(jì)算能力將產(chǎn)生飛越。但如果只在YARN上單純運(yùn)行MapReduce,其價(jià)值將不會有質(zhì)的變化,最大的好處也就是把集群規(guī)??梢宰?的更大了,這個(gè)意義就大打折扣了。升級到Y(jié)ARN的最終目標(biāo)應(yīng)該是讓計(jì)算模型更加豐富,并產(chǎn)出統(tǒng)一的計(jì)算平臺,降低維護(hù)成本,更大程度的擴(kuò)大集群資源利用 率,發(fā)揮云計(jì)算的效果。我們阿里搜索的Hadoop升級到Y(jié)ARN以后,不僅運(yùn)行了傳統(tǒng)的MapReduce、Hive,還自主研發(fā)了iStream(流 式計(jì)算引擎)、iCall(基于Thrift的分布式RPC服務(wù)),后續(xù)還計(jì)劃嘗試Tez,Spark等新式計(jì)算模型,統(tǒng)一的計(jì)算平臺相比之前的 MapReduce Job,無論是效率,成本還是對業(yè)務(wù)支持的靈活性都實(shí)現(xiàn)了質(zhì)的飛躍。
InfoQ:我們還看到淘寶自主研發(fā)了iStream流式計(jì)算引擎,這方面的工作也想請您簡要介紹一下。
王峰:其實(shí)我們當(dāng)初最早是嘗試storm,但storm最大的問題是無法和hadoop集群復(fù)用,單獨(dú)存在的storm集群讓我們運(yùn)維成本增加,同 時(shí)資源利用率也上不去,出現(xiàn)各種問題也無法根本解決,YARN的出現(xiàn)讓我們有了新的思路。iStream天然是基于YARN來設(shè)計(jì)的,因此其在設(shè)計(jì)理念上 最大的亮點(diǎn)就是考慮了如何和其他計(jì)算模型共存,達(dá)到實(shí)時(shí)計(jì)算效果的同時(shí),還可以實(shí)現(xiàn)計(jì)算平臺的全局最優(yōu)化,例如:iStream可以自動(dòng)感知流處理的進(jìn)度 快慢,智能調(diào)整計(jì)算節(jié)點(diǎn)的數(shù)量,即高峰期可以自動(dòng)擴(kuò)容節(jié)點(diǎn)保證處理速度,低峰期也可以在保證進(jìn)度的條件下合理釋放節(jié)點(diǎn),讓資源在多計(jì)算模型場景下真正按需 分配?,F(xiàn)在阿里搜索的hadoop集群上,iStream承擔(dān)了流式數(shù)據(jù)處理的角色,為搜索引擎提供實(shí)時(shí)增量數(shù)據(jù),MapReduce承擔(dān)了全量或者批量 數(shù)據(jù)處理的角色,為搜索引擎提供全量數(shù)據(jù),兩種計(jì)算模型可以自動(dòng)合理的配合,無需人工運(yùn)維干預(yù)。
InfoQ:Spark平臺目前挺火的,您在這方面是否有所涉及?
王峰:Spark目前可以算是最火的計(jì)算模型,不過我們還沒有將Spark投入生產(chǎn),原因不是我們不認(rèn)可Spark,而是Spark強(qiáng)在迭代計(jì)算和 實(shí)時(shí)SQL,這塊在搜索主流程中的場景不是特別明顯。簡單來說,Spark Streaming在我們這里有了iStream,實(shí)時(shí)性和資源管理更加專業(yè);Spark SQL在我們這里有了Phoenix(SQL On HBase),因?yàn)槲覀兊臄?shù)據(jù)基本都在HBase,基礎(chǔ)的SQL場景,我們用Phoenix可以輕量級的解決了;迭代運(yùn)算都是算法訓(xùn)練的純離線過程,都在 阿里的云梯和ODPS上運(yùn)行了。
InfoQ:作為行業(yè)翹楚,您對Hadoop的認(rèn)識非常深刻,不知您有沒有比較好的圖書、社區(qū)推薦給廣大讀者?
王峰:其實(shí)我個(gè)人閱讀的Hadoop相關(guān)的圖書并不多,除了幾本英文經(jīng)典之外,大部分信息都是通過社區(qū)文檔、 hortonworks/cloudera的blog、slideshare上的各種會議slides以及微博/twitter獲取的,當(dāng)然經(jīng)常去 hadoop社區(qū)的jira上看看issue,閱讀一些源碼也是必不可少的。
InfoQ:最后一個(gè)比較八卦的小問題,請您談?wù)劵?ldquo;莫問”的由來?
王峰:雖然我在阿里已經(jīng)超過8年了,但我前幾年在雅虎中國和阿里云,2010年轉(zhuǎn)到淘寶的時(shí)候,好的花名已經(jīng)都沒有了,“莫問”這個(gè)名字是“七劍” 中傅青主拿的那把劍的名字,是“七劍”智慧的象征,同時(shí)也挺喜歡七劍中“莫問前程有愧,但求今生無悔“這句話,所以就起名“莫問”了。
來源:infoq 作者:張?zhí)炖?/p>