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