中國(guó)IDC圈2月22日?qǐng)?bào)道:Hadoop是一項(xiàng)開(kāi)源技術(shù),它是當(dāng)今與大數(shù)據(jù)應(yīng)用最為息息相關(guān)的數(shù)據(jù)管理平臺(tái)。該分布式處理框架主要由Yahoo創(chuàng)建于2006年,部分是基于由Google在一些技術(shù)論文中所闡述的思想;很快,諸如Facebook,Linkedln以及Twitter之類的互聯(lián)網(wǎng)公司采用該技術(shù)并開(kāi)始對(duì)其發(fā)展貢獻(xiàn)力量。在過(guò)去幾年,Hadoop已經(jīng)演變成一種有著基礎(chǔ)設(shè)施組件和相關(guān)工具的復(fù)雜生態(tài)系統(tǒng),而且它被各家供應(yīng)商打包在一起成為商業(yè)Hadoop發(fā)行版本。
對(duì)于高級(jí)分析活動(dòng)來(lái)說(shuō),在集群服務(wù)器上運(yùn)行的Hadoop為建立一個(gè)高性能,低成本的大數(shù)據(jù)管理架構(gòu)提供了途徑。隨著人們逐漸意識(shí)到其能力的提升,Hadoop的應(yīng)用蔓延到了其他行業(yè),包括對(duì)混合有傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)和新型非結(jié)構(gòu)以及半結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用程序的報(bào)告和分析。這包括網(wǎng)絡(luò)點(diǎn)擊流數(shù)據(jù),在線廣告信息,社交媒體數(shù)據(jù),醫(yī)療記錄,以及來(lái)自制造設(shè)備的傳感器數(shù)據(jù)和源自互聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)。
Hadoop為何物
Hadoop框架包含了大量開(kāi)源軟件組件,這些組件擁有用于計(jì)算,處理,管理和分析大量數(shù)據(jù)的核心模型,而這些數(shù)據(jù)則由各種各樣的支撐技術(shù)所包圍。這些核心組件包括: Hadoop Distributed File System(HDFS Hadoop分布式文件系統(tǒng)),它支持傳統(tǒng)的分級(jí)目錄和文件系統(tǒng),而他們則是將文件分布于Hadoop集群中的存儲(chǔ)節(jié)點(diǎn)上(例如:DataNodes數(shù)據(jù)節(jié)點(diǎn))。
MapReduce是可以對(duì)批量應(yīng)用程序進(jìn)行并行處理的編程模型和執(zhí)行框架。
YARN(這是對(duì)Yet Another Resource Negotiator的簡(jiǎn)稱)負(fù)責(zé)管理任務(wù)調(diào)度,為運(yùn)行中的應(yīng)用程序分配集群資源,并在可用資源出現(xiàn)爭(zhēng)用時(shí)進(jìn)行仲裁。它同時(shí)還對(duì)正在處理中任務(wù)的進(jìn)展進(jìn)行追蹤和監(jiān)控。
Hadoop Common是由不同組件使用的一組庫(kù)和工具。
在Hadoop集群中,那些核心部分和其他軟件模型是分層于計(jì)算和數(shù)據(jù)存儲(chǔ)硬件節(jié)點(diǎn)集合之上的。這些節(jié)點(diǎn)通過(guò)高速內(nèi)網(wǎng)連接以形成高性能并行分布式處理系統(tǒng)。
作為一個(gè)開(kāi)源技術(shù)的集合,Hadoop并不受控于任何一個(gè)單獨(dú)的供應(yīng)商;相反的是,它的開(kāi)發(fā)是由Apache Software Foundation進(jìn)行管理的。Apache為用戶提供Hadoop使用許可,基本上可以讓用戶免費(fèi),無(wú)版稅的使用該軟件。開(kāi)發(fā)人員可以直接從Apache的網(wǎng)站下載并自行構(gòu)建Hadoop環(huán)境。但是,Hadoop供應(yīng)商提供帶有基本功能的預(yù)構(gòu)建社區(qū)版本,該版本同樣是免費(fèi)下載并能在各種硬件平臺(tái)上進(jìn)行安裝的。同時(shí)還有市場(chǎng)商業(yè)版和企業(yè)版——Hadoop發(fā)行版根據(jù)維護(hù)和支持服務(wù)的不同等級(jí)來(lái)打包軟件。
在某些情況下,供應(yīng)商也會(huì)基于Apache的技術(shù)提供性能和功能方面的增強(qiáng)——例如,通過(guò)提供附加的軟件工具來(lái)簡(jiǎn)化集群配置和管理,或是與外部平臺(tái)的數(shù)據(jù)整合。這些商業(yè)產(chǎn)品讓各種規(guī)模的公司對(duì)Hadoop的接納度越來(lái)越高。這是非常有價(jià)值的,尤其是當(dāng)商業(yè)公司供應(yīng)商的支持服務(wù)團(tuán)隊(duì)可以啟動(dòng)一家公司Hadoop基礎(chǔ)設(shè)施的設(shè)計(jì)和開(kāi)發(fā),并且能夠引導(dǎo)工具的選擇和高級(jí)功能的集成以快速部署高性能分析解決方案來(lái)滿足新興業(yè)務(wù)需求的時(shí)候。
典型Hadoop軟件棧組件
當(dāng)你拿到一份商業(yè)版本的Hadoop時(shí),你能從中真正獲得什么呢?除了核心組件,典型的Hadoop發(fā)布版本會(huì)包含(但不限于)以下內(nèi)容:
諸如Tez和Spark之類的替代數(shù)據(jù)處理和應(yīng)用程序執(zhí)行管理器,它們可以在YARN之上運(yùn)行或是與YARN并行以提供集群管理;緩存數(shù)據(jù)管理;以及其他改善處理性能的方法。
Apache HBase是一款列式數(shù)據(jù)庫(kù)管理系統(tǒng),它模仿的是運(yùn)行在HDFS之上Google的Big Table項(xiàng)目。
諸如Hive,Impala,Stinger,Drill以及Spark SQL之類的SQL-on-Hadoop工具,這些工具為直接查詢存儲(chǔ)在HDFS中的數(shù)據(jù)提供了與SQL標(biāo)準(zhǔn)不同程度的兼容性。 諸如Pig之類的開(kāi)發(fā)工具可以幫助開(kāi)發(fā)人員構(gòu)建MapReduce項(xiàng)目。
諸如ZooKeeper或是Ambari之類的配置管理工具可以用來(lái)進(jìn)行監(jiān)控和管理。
諸如Mahout之類的分析環(huán)境可以為機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘和預(yù)測(cè)分析提供分析模型。
由于該軟件是開(kāi)源的,因此對(duì)于Hadoop發(fā)行版你無(wú)需付費(fèi)。相反的是,供應(yīng)商則售賣(mài)有不同水平服務(wù)協(xié)議(SLAs)的年度支持訂閱版本。雖然每家供應(yīng)商都會(huì)對(duì)自家的附加組件進(jìn)行提升,如此一來(lái)也作為Hadoop發(fā)布版的一部分為Hadoop社區(qū)做出了貢獻(xiàn),所有的供應(yīng)商都會(huì)積極參與到Apache Hadoop社區(qū)中來(lái)。
誰(shuí)在管理Hadoop大數(shù)據(jù)管理環(huán)境
在Hadoop系統(tǒng)之外獲得所需性能需要一個(gè)熟悉IT專業(yè)的協(xié)調(diào)團(tuán)隊(duì),該團(tuán)隊(duì)致力于架構(gòu)計(jì)劃,設(shè)計(jì),開(kāi)發(fā),測(cè)試,部署,運(yùn)行中操作和維護(hù)方面的工作以確保最佳性能,而意識(shí)到這一點(diǎn)是非常重要的。這樣的IT團(tuán)隊(duì)通常會(huì)要求: