什么是Hadoop?
Apache Hadoop是一個(gè)開放源代碼軟件框架,用于開發(fā)在分布式計(jì)算環(huán)境中執(zhí)行的數(shù)據(jù)處理應(yīng)用程序。
使用HADOOP構(gòu)建的應(yīng)用程序可在分布在商用計(jì)算機(jī)群集上的大型數(shù)據(jù)集上運(yùn)行。商品計(jì)算機(jī)便宜且可廣泛獲得。這些主要用于以低成本實(shí)現(xiàn)更大的計(jì)算能力。
與駐留在個(gè)人計(jì)算機(jī)系統(tǒng)的本地文件系統(tǒng)中的數(shù)據(jù)類似,在Hadoop中,數(shù)據(jù)駐留在稱為 Hadoop分布式文件系統(tǒng)的分布式文件系統(tǒng)中。處理模型基于 “數(shù)據(jù)局部性” 概念,其中計(jì)算邏輯被發(fā)送到包含數(shù)據(jù)的群集節(jié)點(diǎn)(服務(wù)器)。這種計(jì)算邏輯無非是用高級(jí)語言(例如Java)編寫的程序的編譯版本。這樣的程序可以處理存儲(chǔ)在Hadoop HDFS中的數(shù)據(jù)。
你知道嗎?計(jì)算機(jī)集群由一組相互連接并充當(dāng)單個(gè)系統(tǒng)的多個(gè)處理單元(存儲(chǔ)磁盤+處理器)組成。
在本教程中,您將學(xué)習(xí)
一、Hadoop生態(tài)系統(tǒng)和組件
二、Hadoop架構(gòu)
三、Hadoop的功能
四、Hadoop中的網(wǎng)絡(luò)拓?fù)?br />
一、Hadoop生態(tài)系統(tǒng)和組件
下圖顯示了Hadoop生態(tài)系統(tǒng)中的各個(gè)組件-
Apache Hadoop由兩個(gè)子項(xiàng)目組成–
Hadoop MapReduce: MapReduce是用于編寫在Hadoop上運(yùn)行的應(yīng)用程序的計(jì)算模型和軟件框架。這些MapReduce程序能夠在大型計(jì)算節(jié)點(diǎn)群集上并行處理大量數(shù)據(jù)。
HDFS (Hadoop分布式文件系統(tǒng)):HDFS負(fù)責(zé)Hadoop應(yīng)用程序的存儲(chǔ)部分。MapReduce應(yīng)用程序使用HDFS中的數(shù)據(jù)。HDFS創(chuàng)建數(shù)據(jù)塊的多個(gè)副本,并將它們分布在群集中的計(jì)算節(jié)點(diǎn)上。這種分布實(shí)現(xiàn)了可靠且快速的計(jì)算。
盡管Hadoop以MapReduce及其分布式文件系統(tǒng)HDFS而聞名,但該術(shù)語還用于一系列相關(guān)項(xiàng)目,這些項(xiàng)目屬于分布式計(jì)算和大規(guī)模數(shù)據(jù)處理的范疇。Apache的其他與Hadoop相關(guān)的項(xiàng)目包括 Hive,HBase,Mahout,Sqoop,F(xiàn)lume和ZooKeeper。
二、Hadoop架構(gòu)
高級(jí)Hadoop架構(gòu)
Hadoop具有使用MapReduce和HDFS方法進(jìn)行數(shù)據(jù)存儲(chǔ)和分布式數(shù)據(jù)處理的主從結(jié)構(gòu)。
NameNode:
NameNode表示名稱空間中使用的每個(gè)文件和目錄
數(shù)據(jù)節(jié)點(diǎn):
DataNode可幫助您管理HDFS節(jié)點(diǎn)的狀態(tài),并允許您與塊進(jìn)行交互
主節(jié)點(diǎn):
主節(jié)點(diǎn)允許您使用Hadoop MapReduce進(jìn)行數(shù)據(jù)并行處理。
從節(jié)點(diǎn):
從節(jié)點(diǎn)是Hadoop集群中的其他計(jì)算機(jī),可讓您存儲(chǔ)數(shù)據(jù)以進(jìn)行復(fù)雜的計(jì)算。此外,所有從屬節(jié)點(diǎn)都隨附有Task Tracker和一個(gè)DataNode。這使您可以分別與NameNode和Job Tracker同步進(jìn)程。
在Hadoop中,可以在云或本地中設(shè)置主系統(tǒng)或從系統(tǒng)
三、Hadoop的功能
•適用于大數(shù)據(jù)分析
由于大數(shù)據(jù)實(shí)際上傾向于分布和非結(jié)構(gòu)化,因此HADOOP群集最適合分析大數(shù)據(jù)。由于流向計(jì)算節(jié)點(diǎn)的是處理邏輯(不是實(shí)際數(shù)據(jù)),因此消耗的網(wǎng)絡(luò)帶寬更少。該概念稱為 數(shù)據(jù)局部性概念 ,它有助于提高基于Hadoop的應(yīng)用程序的效率。
•可擴(kuò)展性
通過添加其他群集節(jié)點(diǎn),可以輕松地將HADOOP群集擴(kuò)展到任何程度,從而實(shí)現(xiàn)大數(shù)據(jù)的增長。同樣,擴(kuò)展不需要修改應(yīng)用程序邏輯。
容錯(cuò)
HADOOP生態(tài)系統(tǒng)提供了將輸入數(shù)據(jù)復(fù)制到其他群集節(jié)點(diǎn)的規(guī)定。這樣,在群集節(jié)點(diǎn)發(fā)生故障的情況下,仍然可以通過使用存儲(chǔ)在另一個(gè)群集節(jié)點(diǎn)上的數(shù)據(jù)來進(jìn)行數(shù)據(jù)處理。
四、Hadoop中的網(wǎng)絡(luò)拓?fù)?/span>
當(dāng)Hadoop群集的大小增長時(shí),網(wǎng)絡(luò)的拓?fù)?安排)會(huì)影響Hadoop群集的性能。除了性能之外,還需要關(guān)注高可用性和故障處理。為了實(shí)現(xiàn)此Hadoop,集群形成利用了網(wǎng)絡(luò)拓?fù)洹?br />
通常,網(wǎng)絡(luò)帶寬是組成任何網(wǎng)絡(luò)時(shí)要考慮的重要因素。但是,由于測量帶寬可能很困難,因此在Hadoop中,網(wǎng)絡(luò)被表示為一棵樹,并且該樹的節(jié)點(diǎn)之間的距離(跳數(shù))被視為Hadoop集群形成的重要因素。在此,兩個(gè)節(jié)點(diǎn)之間的距離等于它們到其最接近的共同祖先的距離之和。
Hadoop集群由一個(gè)數(shù)據(jù)中心,機(jī)架和實(shí)際執(zhí)行作業(yè)的節(jié)點(diǎn)組成。在這里,數(shù)據(jù)中心由機(jī)架組成,而機(jī)架由節(jié)點(diǎn)組成。進(jìn)程可用的網(wǎng)絡(luò)帶寬取決于進(jìn)程的位置。也就是說,隨著我們遠(yuǎn)離-
1、在同一節(jié)點(diǎn)上處理;
2、同一機(jī)架上的不同節(jié)點(diǎn);
3、同一數(shù)據(jù)中心不同機(jī)架上的節(jié)點(diǎn);
4、不同數(shù)據(jù)中心中的節(jié)點(diǎn)。
填寫下面表單即可預(yù)約申請免費(fèi)試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!
?2007-2022/ m.5wd995.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc