關(guān)于Hadoop你需要知道的一些事項
除非你過去幾年一直隱居,遠(yuǎn)離這個計算機的世界,否則你不可能沒有聽過Hadoop。
全名Apache Hadoop,是一個在通用低成本的硬件上處理存儲和大規(guī)模并行計算的一個開源框架。從2011年他的面世,他已經(jīng)成為大數(shù)據(jù)領(lǐng)域最出名的平臺。
如何工作的?
Hadoop是從Google文件系統(tǒng)發(fā)源而來,并且他是一個用Java開發(fā)的跨平臺的應(yīng)用.核心組件有: Hadoop Common,擁有其他模塊所依賴的庫和基礎(chǔ)工具,Hadoop分布式文件系統(tǒng) (HDFS), 負(fù)責(zé)存儲, Hadoop YARN, 管理計算資源, 和Hadoop MapReduce, 負(fù)責(zé)處理的過程。
Hadoop把文件拆成小塊并且把他們分發(fā)給集群中的節(jié)點.然后,它使用打包的代碼分發(fā)到節(jié)點上并行處理數(shù)據(jù). 這意味著可以處理數(shù)據(jù)的速度會比使用傳統(tǒng)的體系結(jié)構(gòu)的更快.
一個典型的Hadoop集群都會有主節(jié)點和從節(jié)點或者叫工作節(jié)點. 主節(jié)點有一個任務(wù)跟蹤器,任務(wù)調(diào)度,名字節(jié)點和數(shù)據(jù)節(jié)點組成.從節(jié)點通常作為一個數(shù)據(jù)節(jié)點和任務(wù)調(diào)度器,不過特殊的場景下程序可能只有數(shù)據(jù)節(jié)點然后在其他的從節(jié)點進行處理計算。
在大的Hadoop集群中,通常會使用一個專用的名字節(jié)點來管理HDFS節(jié)點的文件系統(tǒng)索引信息。這防止了文件系統(tǒng)的數(shù)據(jù)丟失和損壞。
Hadoop文件系統(tǒng)
Hadoop分布式文件系統(tǒng)是Hadoop擴展的核心. HDFS當(dāng)處理大數(shù)據(jù)的優(yōu)點是,它可以跨多臺機器存儲gb或tb大小的文件. 因為數(shù)據(jù)的副本存在了多個機器上,而不是使用附加RAID來在單臺機器上保證. 不過RAID還是會被用來提升性能. 提供進一步的保護,允許主NameNode服務(wù)器自動切換到備份失敗的事件。
HDFS被設(shè)計成可以直接掛載在Linux系統(tǒng)的用戶空間(FUSE)或者虛擬文件系統(tǒng). 通過一個Java API來處理文件的訪問權(quán)限.HDFS被設(shè)計為跨硬件平臺和操作系統(tǒng)的可移植性。
Hadoop也能配合其他的文件系統(tǒng)工作 ,包括FTP, Amazon S3 和Microsoft Azure, 然而,它需要一個特定的文件系統(tǒng)的橋梁,以確保沒有性能損失。
Hadoop 和他的云
相對傳統(tǒng)數(shù)據(jù)中心, Hadoop也經(jīng)常被部署在云上. 這樣做的好處是,公司可以很容易地部署Hadoop更迅速和較低的安裝費用. 大多數(shù)云供應(yīng)商都提供某種形式的Hadoop部署方案。
Microsoft 提供Azure HDInsight, 允許用戶使用他們所需要的節(jié)點的數(shù)量,并收取他們使用的計算能力和存儲的費用. HDInsight是基于 Hortonworks 并且可以很容易地在內(nèi)部系統(tǒng)和云備份,或開發(fā)和測試之間移動數(shù)據(jù).
Amazon Elastic Compute Cloud (EC2) 和Amazon Simple Storage Service (S3) 也支持 Hadoop, 加上Amazon 提供了 Elastic MapReduce 產(chǎn)品,所以能自動化Hadoop集群的配置,作業(yè)的運行和終止以及處理EC2和S3存儲之間的數(shù)據(jù)傳輸。
Google提供一個管理Spark和Hadoop 服務(wù)叫做Cloud Dataproc,用一系列的Shell腳本來創(chuàng)建和管理 Spark和Hadoop 集群.他支持第三方的Hadoop 發(fā)行版像Cloudera, Hortonworks和MapR.Google Cloud Storage 也可以和 Hadoop 配合使用.
Hadoop 近況
Hadoop已經(jīng)有些初步的進展. 2015年的 Gartner study只有18%的人表示會在接下來的兩年使用.不愿意采用這種技術(shù)的原因包括成本太高,相對于預(yù)期的利益, 和缺乏必要的技能。
仍然有一些高調(diào)的用戶。 雅虎的搜索引擎由Hadoop驅(qū)動,公司已經(jīng)通過開源社區(qū)向公眾提供了其使用的版本的源代碼。 Facebook也使用Hadoop,并且在2012年該公司宣布其集群具有100PB的數(shù)據(jù),并且每天增長約為一個PB。
盡管初始占有慢,Hadoop也在增長。 Allied Market Research在2016年初的一項調(diào)查估計,到2021年Hadoop市場的收入將超過840億美元。
由于Hadoop工作的方式,看到了一些回歸到舊時代批處理信息的東西。 雖然從大量歷史數(shù)據(jù)中提取洞察力很有用,但對于實時應(yīng)用程序或連續(xù)傳入的數(shù)據(jù)流有效性較低。
特性
Hadoop一直與大數(shù)據(jù)密切相關(guān)。隨著物聯(lián)網(wǎng)設(shè)備的擴展以及收集的數(shù)據(jù)量增加,因而Hadoop的處理能力需求也將增加。其快速處理大數(shù)據(jù)的能力意味著Hadoop系統(tǒng)對于做日常業(yè)務(wù)決定起著越來越重要的作用。
各種規(guī)模的組織都熱衷于使用大數(shù)據(jù)。Hadoop開源的特性以及其在商業(yè)硬件上運行的能力意味著其處理能力不僅在大型公司可用,也可以幫助大眾使用大數(shù)據(jù)。
對于所有這些運作成功的公司需要能夠利用Hadoop可以提供的優(yōu)勢。 這意味著需要解決技能差距,并且可能仍然需要那些掌握J(rèn)ava,Linux,文件系統(tǒng)和數(shù)據(jù)庫背景的員工,這些員工能夠快速獲得Hadoop技能。 這也意味著越來越多地使用云以一種不太復(fù)雜的方式提供Hadoop的優(yōu)勢。