產(chǎn)品介紹
Hydra(九頭蛇),分布式任務(wù)處理系統(tǒng),由社交標(biāo)簽服務(wù)提供商AddThis六年前開(kāi)發(fā),已得到Apache的開(kāi)源許可,就像Hadoop一樣,只是還沒(méi)有Hadoop那樣的知名度和聲勢(shì)。Hydra的創(chuàng)造者稱,該“多頭”平臺(tái)非常擅長(zhǎng)處理一些大的數(shù)據(jù)任務(wù)——對(duì)非常大的數(shù)據(jù)集進(jìn)行實(shí)時(shí)處理
Hydra是一個(gè)大數(shù)據(jù)存儲(chǔ)和處理平臺(tái),由Matt Abrams和他的AddThis同事們共同開(kāi)發(fā)完成。AddThis也就是過(guò)去的Clearspring,是開(kāi)發(fā)Web服務(wù)器窗口小部件的公司,使訪問(wèn)者可以通過(guò)Twitter、Facebook、Pintrest、Google +或者Instagram輕松共享他們的數(shù)據(jù)。
當(dāng)AddThis開(kāi)始逐漸擴(kuò)大其業(yè)務(wù)時(shí),它對(duì)越來(lái)越多的用戶數(shù)據(jù)漸漸感到無(wú)能為力。該公司需要一個(gè)可擴(kuò)展的分布式系統(tǒng),對(duì)其用戶共享的這些數(shù)據(jù)進(jìn)行實(shí)時(shí)分析。那時(shí)Hadoop無(wú)法滿足AddThis的需求,所以它開(kāi)發(fā)了Hydra。
Hydra是分布式的任務(wù)處理系統(tǒng),可以同時(shí)支持流處理和批處理。它利用一種基于樹(shù)的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和處理具有數(shù)千個(gè)節(jié)點(diǎn)集群的數(shù)據(jù)。它具有一個(gè)基于Linux的文件系統(tǒng),這使得它可以與ext3、ext4甚至ZFS兼容;它還具有作業(yè)/集群管理組件,可以自動(dòng)為集群分配新的作業(yè)和平衡已有的作業(yè);系統(tǒng)還可以自動(dòng)將數(shù)據(jù)備份,并自動(dòng)處理節(jié)點(diǎn)故障。
Hydra包括很多的組件:跨異構(gòu)集群處理任務(wù)的分布式作業(yè)執(zhí)行系統(tǒng)、可網(wǎng)絡(luò)訪問(wèn)的文件服務(wù)系統(tǒng),還有本地備份及遠(yuǎn)程備份(考慮到難以預(yù)防的節(jié)點(diǎn)故障)。
基于樹(shù)形結(jié)構(gòu)使它可以在同一時(shí)間處理流數(shù)據(jù)并進(jìn)行批處理作業(yè)。AddThis工程部門的一位成員Chris Burroughs在他1月23日的博客中首次宣布Hydra開(kāi)源,還提供了對(duì)于Hydra精辟的描述:“它攝取流數(shù)據(jù)(比如日志文件),并生成聚合樹(shù)、 摘要樹(shù)或者數(shù)據(jù)轉(zhuǎn)換樹(shù),這些樹(shù)可用來(lái)探索(小型查詢),作為機(jī)器學(xué)習(xí)的一部分(大型查詢)、或者在網(wǎng)站上支持實(shí)時(shí)控制臺(tái)(大量的查詢)。”
Hydra最初是用以幫助AddThis解決自身問(wèn)題,供內(nèi)部使用,以及為網(wǎng)站運(yùn)營(yíng)商提供服務(wù)。
AddThis繼續(xù)使用Hydra來(lái)處理其大規(guī)模的數(shù)據(jù)流量,分析其客戶得到網(wǎng)站的發(fā)展趨勢(shì)。AddThis可以了解人們?cè)诰€分享了什么,哪些話題比較熱門。社交標(biāo)簽服務(wù)被超過(guò)1300萬(wàn)的網(wǎng)站使用,一個(gè)月有13億用戶訪問(wèn),平均每天30億訪問(wèn)量產(chǎn)生10TB數(shù)據(jù),Hydra在AddThis的上千個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行著。
Abrams通過(guò)郵件告訴Datanami:“我們處理大型數(shù)據(jù)集已經(jīng)很長(zhǎng)時(shí)間了,Hydra一直以來(lái)對(duì)我們都非常有用,我們覺(jué)得它以獨(dú)特的方式解決了分布式數(shù)據(jù)處理的問(wèn)題。”
傳統(tǒng)的Hadoop面向批處理,而Hydra可以同時(shí)支持批處理和實(shí)時(shí)流處理。Abrams說(shuō):“Hydra支持的批處理主要側(cè)重流分析和增量數(shù)據(jù)處理,能夠使用樹(shù)形數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù),對(duì)自然數(shù)據(jù)進(jìn)行壓縮及高效查詢和訪問(wèn)。Hydra可以從HDFS中生產(chǎn)和接收數(shù)據(jù),但它在本機(jī)文件系統(tǒng)上完成操作,這使其可以在Hydra上靈活地使用其他服務(wù)。”
Hydra已經(jīng)開(kāi)源,Abrams希望該軟件會(huì)被更加廣泛的使用,并得到更好的發(fā)展。“這將需要一些時(shí)間,但我們相信未來(lái)我們將建成一個(gè)完善的Hydra開(kāi)源社區(qū),這樣AddThis和OS(開(kāi)源)社區(qū)都可以從Hydra未來(lái)的發(fā)展中受益。在華盛頓特區(qū)已經(jīng)有一些其他公司在使用Hydra了,我們很期待Hydra社區(qū)得到進(jìn)一步的發(fā)展。”
2013秋天,Doug Cutting,Hadoop的創(chuàng)始人也是Cloudera的首席架構(gòu)師感嘆Hadoop缺乏替代品——那時(shí)Cutting說(shuō):“我多么期待能有更多像Hadoop一樣的系統(tǒng)出現(xiàn)……”雖然如今Hadoop在大數(shù)據(jù)界占據(jù)了主導(dǎo)地位,但誰(shuí)又能說(shuō)它會(huì)是唯一的一個(gè)大數(shù)據(jù)分布式計(jì)算平臺(tái)?相信未來(lái)Hydra的發(fā)展不會(huì)令他失望,對(duì)于未來(lái)Hydra的發(fā)展,我想引用Cutting的另一句話:“天空才是極限。”