云端Hadoop又叫Hadoop即服務(wù)(HaaS),這是平臺(tái)即服務(wù)(PaaS)的一個(gè)子類。
Apache Hadoop是一種開源軟件框架,能夠?qū)Ψ植际郊荷系拇髷?shù)據(jù)集進(jìn)行高吞吐量處理。Apache模塊包括Hadoop Common,這是一組常見的實(shí)用工具,可以通過模塊來運(yùn)行。這些模塊還包括:Hadoop分布式文件系統(tǒng)(HDFS)、用于任務(wù)調(diào)度和集群資源管理的 Hadoop YARN以及Hadoop MapReduce,后者是一種基于YARN的系統(tǒng),能夠并行處理龐大的數(shù)據(jù)集。
Apache還提供了另外的開源軟件,可以在Hadoop上運(yùn)行,比如分析引擎Spark(它也能獨(dú)立運(yùn)行)和編程語言Pig。
Hadoop 之所以廣受歡迎,就是因?yàn)樗鼮槭褂么蟊娀布幚泶髷?shù)據(jù)提供了一種幾乎沒有限制的環(huán)境。添加節(jié)點(diǎn)是個(gè)簡(jiǎn)單的過程,對(duì)這個(gè)框架沒有任何負(fù)面影響。 Hadoop具有高擴(kuò)展性,能夠從單單一臺(tái)服務(wù)器靈活擴(kuò)展到成千上萬臺(tái)服務(wù)器,每個(gè)集群運(yùn)行自己的計(jì)算和存儲(chǔ)資源。Hadoop在應(yīng)用程序?qū)用嫣峁┝烁呖捎眯?,所以集群硬件可以是現(xiàn)成的。
實(shí)際的使用場(chǎng)合包括:在線旅游(Hadoop聲稱它是80%的網(wǎng)上旅游預(yù)訂業(yè)務(wù)的可靠的大數(shù)據(jù)平臺(tái))、批量分析、社交媒體應(yīng)用程序提供和分析、供應(yīng)鏈優(yōu)化、移動(dòng)數(shù)據(jù)管理、醫(yī)療保健及更多場(chǎng)合。
它有什么缺點(diǎn)嗎? Hadoop很復(fù)雜,需要大量的員工時(shí)間和扎實(shí)的專業(yè)知識(shí),這就阻礙了它在缺少專業(yè)IT人員的公司企業(yè)的采用速度。由于需要專家級(jí)管理員,加上廣泛分布的集群方面需要龐大的成本支出,從中獲得商業(yè)價(jià)值也可能是個(gè)挑戰(zhàn)。I
集群管理也可能頗為棘手。雖然Hadoop統(tǒng)一了分布式計(jì)算,但是配備和管理另外的數(shù)據(jù)中心、更不用說與遠(yuǎn)程員工打交道,增添了復(fù)雜性和成本。結(jié)果就是,Hadoop集群可能顯得過于孤立。
云是救星嗎?
對(duì) Hadoop用戶們來說,進(jìn)入到云端并不是一個(gè)非此即彼的命題。一些擁有Hadoop專長(zhǎng)的公司會(huì)選擇基礎(chǔ)設(shè)施即服務(wù)(IaaS)以改善集群管理,還會(huì)繼續(xù)在內(nèi)部管理Hadoop。本文將著重探討全面托管的在線Hadoop部署環(huán)境。我們稱之為Hadoop即服務(wù)(HaaS),這是平臺(tái)即服務(wù)(PaaS)的一個(gè)子類。
將Hadoop作為一項(xiàng)基于云的托管服務(wù)來運(yùn)行并不便宜,但是相比購(gòu)買數(shù)量眾多的集群,它確實(shí)節(jié)省了資金。它還緩解了由Hadoop 專家來管理的要求,避免了長(zhǎng)長(zhǎng)的學(xué)習(xí)曲線。安裝的Hadoop大多數(shù)仍然會(huì)維持一個(gè)自助式門戶網(wǎng)站,用于分析及其他數(shù)據(jù)操作,而提供商管理所有的基礎(chǔ)設(shè)施、管理和處理操作。
此舉并非易事。Hadoop架構(gòu)需要一種具有高擴(kuò)展性的動(dòng)態(tài)環(huán)境,Hadoop專家對(duì)復(fù)雜的配置和軟件集成而言又必不可少。如果某家公司決定采用一項(xiàng)托管服務(wù),它就沒必要雇用專家級(jí)員工,但托管服務(wù)會(huì)雇用??蛻魧?duì)專長(zhǎng)、定制配置和能力等方面的要求越高,服務(wù)的成本就越高昂。
不過,開支通常少于在現(xiàn)場(chǎng)運(yùn)行部署的大型Hadoop系統(tǒng),而且它確實(shí)降低了復(fù)雜性。IT人員可以制定政策,能夠從基于Web的控制臺(tái)來操作數(shù)據(jù),而不是將員工時(shí)間和大量資金花費(fèi)在集群和工作負(fù)載的管理上。提供商會(huì)管理日常任務(wù)和動(dòng)態(tài)工作負(fù)載的自動(dòng)化配置。服務(wù)還會(huì)處理數(shù)據(jù)、負(fù)責(zé)分配。
若干缺點(diǎn)
當(dāng)然了,沒有任何技術(shù)是完美無缺的,包括HaaS。首先,公司需要把大數(shù)據(jù)移入移出云。這就帶來了延遲,IT人員得購(gòu)買更粗的帶寬及/或購(gòu)置數(shù)據(jù)遷移加速解決方案,以克服延遲。IT人員還要對(duì)HaaS提供商的性能級(jí)別和服務(wù)質(zhì)量做好摸底調(diào)查工作。下面是需要關(guān)注的幾項(xiàng)主要功能:
·提供商應(yīng)該將數(shù)據(jù)永久性地存儲(chǔ)在HDFS。Hadoop不要求使用HDFS作為一種永久性數(shù)據(jù)存儲(chǔ)區(qū),但是這么做具有明顯的優(yōu)勢(shì)。雖說在內(nèi)存中的緩存(In-Memory Cache)出現(xiàn)之前,使用HDFS作為永久性數(shù)據(jù)存儲(chǔ)區(qū)帶來了性能問題。而現(xiàn)在,活動(dòng)進(jìn)程出現(xiàn)在HDFS的內(nèi)存中的緩存,Hadoop使用后寫(write-behind)將數(shù)據(jù)存儲(chǔ)在磁盤上。這項(xiàng)功能現(xiàn)在將HDFS定位于一種數(shù)據(jù)倉(cāng)庫,不需要購(gòu)買第三方倉(cāng)庫或抽取、轉(zhuǎn)換和加載(ETL)。查詢命中整個(gè)存儲(chǔ)區(qū)(包括緩存和HDFS)。又由于HDFS是Hadoop自帶的,它可以與Yarn和MapReduce無縫兼容。
·高度彈性的計(jì)算環(huán)境。Hadoop的核心能力就是為多種多樣的工作負(fù)載維護(hù)彈性集群。在運(yùn)行基于云的Hadoop實(shí)例時(shí),這個(gè)考量因素顯得尤為重要。你已經(jīng)在處理遠(yuǎn)程連接至互聯(lián)網(wǎng),無法忍受增添另一層延遲。Hadoop云提供商必須維持高度動(dòng)態(tài)和高擴(kuò)展性的環(huán)境。服務(wù)還應(yīng)該能夠支持混合工作負(fù)載,比如數(shù)據(jù)消化和客戶數(shù)據(jù)分析。服務(wù)器和存儲(chǔ)容量應(yīng)該能夠高度自動(dòng)化地實(shí)時(shí)配置。
·不間斷運(yùn)行。另一個(gè)考量因素是能夠在數(shù)據(jù)處理出現(xiàn)故障后恢復(fù)過來,不用重啟整個(gè)過程。Hadoop提供商應(yīng)該具有不間斷運(yùn)行能力,這不是件小事。要明確提供商支持不間斷運(yùn)行,可以從失效的子服務(wù)開始部分重啟運(yùn)行,而不是重啟整個(gè)任務(wù)。
Hadoop即服務(wù)提供商
許多大型云廠商為Hadoop服務(wù)提供商提供服務(wù),包括惠普Helion、谷歌、亞馬遜、Rackspace和微軟Azure。然而,云廠商們可能提供自己的托管Hadoop服務(wù),也可能不提供。本文介紹的廠商涵蓋Hadoop托管服務(wù)提供商,而不是僅僅涵蓋上面運(yùn)行Hadoop的基礎(chǔ)設(shè)施。
Qubole 的主打服務(wù)是Hadoop即服務(wù)(HaaS)。Qubole數(shù)據(jù)服務(wù)提供了全面托管的按需集群,可以根據(jù)數(shù)據(jù)大小向上或向下擴(kuò)展。Qubole與谷歌云(Google Cloud)達(dá)成了合作伙伴,使用谷歌的計(jì)算引擎(GCE)。 說到谷歌,面向Hadoop的谷歌云存儲(chǔ)(GCS)連接件讓用戶可以直接對(duì)存儲(chǔ)在GCS中的數(shù)據(jù)運(yùn)行MapReduce任務(wù),那樣就沒必要在內(nèi)部寫入數(shù)據(jù)、在本地Hadoop中運(yùn)行。另外的數(shù)據(jù)連接件讓GCS用戶能夠?qū)Υ鎯?chǔ)在谷歌Datastore和谷歌BigQuery中的數(shù)據(jù)運(yùn)行 MapReduce。
Hortonworks數(shù)據(jù)平臺(tái)提供了企業(yè)級(jí)托管HaaS。Hadoop YARN能夠通過眾多操作來處理多個(gè)工作負(fù)載。Altiscale因特別定制的Hadoop云服務(wù)而大放異彩。它強(qiáng)調(diào)可靠的原生安全和合規(guī)、先進(jìn)的管理服務(wù)、高度自動(dòng)化以及全面的數(shù)據(jù)和語言集成。
亞馬遜提供了亞馬遜彈性MapReduce(EMR)作為一項(xiàng)Hadoop Web服務(wù)。EMR將客戶端數(shù)據(jù)和進(jìn)程分配到動(dòng)態(tài)EC2實(shí)例上。微軟Azure HDinsight也是一款基于云的Hadoop發(fā)行版。HDinsight是純Hadoop,并不含有另外的微軟軟件。安裝的系統(tǒng)可以同時(shí)處理來自多個(gè)數(shù)據(jù)位置的結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)。
IBM BigInsights on Cloud基于Hadoop,把Hadoop核心服務(wù)和模塊與IBM管理控制臺(tái)、分析工具和查詢引擎整合起來。這個(gè)云版本將BigInsights作為一項(xiàng)Hadoop服務(wù)在IBM SoftLayer上運(yùn)行。
最后,相比其名聲,Hadoop的采用速度并沒有得到應(yīng)有的體現(xiàn)。對(duì)大數(shù)據(jù)有諸多要求的企業(yè)在廣泛采用它,因?yàn)樗鼈冇信c之匹配的計(jì)算預(yù)算。但是許多中型企業(yè)、甚至企業(yè)級(jí)公司還沒有采用Hadoop,原因在于它很復(fù)雜,另外需要不斷優(yōu)化。
我們認(rèn)為,只要Hadoop托管服務(wù)提供商優(yōu)化數(shù)據(jù)中心以提升性能,用戶知道加快數(shù)據(jù)轉(zhuǎn)移,托管Hadoop服務(wù)就會(huì)把多得多的企業(yè)用戶吸引過來。
原文標(biāo)題:How to Choose a Hadoop as a Service Provider