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