Hadoop教程:特性,組件,集群和拓撲

翻譯自:http://www.guru99.com/learn-hadoop-in-10-minutes.html

Apache HADOOP是用于開發(fā)在分布式計算環(huán)境中執(zhí)行的數據處理應用程序的框架。

類似于存儲在個人計算機系統(tǒng)的本地文件系統(tǒng)中的數據,在Hadoop中,數據存儲在被稱為 Hadoop分布式文件系統(tǒng)的分布式文件系統(tǒng)中。

處理模型基于“數據局部性”概念,其中計算邏輯被發(fā)送到包含數據的集群節(jié)點(服務器)。

這種計算邏輯只不過是用高級語言(如Java)編寫的程序的編譯版本。這樣的程序,處理存儲在Hadoop HDFS中的數據。

HADOOP是一個開源軟件框架。使用HADOOP構建的應用程序在分布在普通計算機集群上的大型數據集上運行。

普通電腦價格便宜,廣泛應用。這些主要用于以低成本實現更大的計算能力。

你知道嗎?計算機集群由一組多個處理單元(存儲磁盤+處理器)組成,它們彼此連接并作為單個系統(tǒng)。

Hadoop的組件

下圖顯示了Hadoop生態(tài)系統(tǒng)中的各種組件 -

061114_0803_LearnHadoop4.png

Apache Hadoop包含兩個子項目

  1. Hadoop MapReduce MapReduce是一個用于編寫在Hadoop上運行的應用程序的計算模型和軟件框架。這些MapReduce程序能夠在大型計算節(jié)點集群上并行處理大量數據。
  2. HDFS(Hadoop分布式文件系統(tǒng)) HDFS負責Hadoop應用程序的存儲部分。MapReduce應用程序使用HDFS中的數據。HDFS創(chuàng)建多個數據塊副本,并將它們分布在集群中的計算節(jié)點上。這種分布使得可靠和極快速的計算成為可能。

盡管Hadoop最為人所知的是MapReduce及其分布式文件系統(tǒng)-HDFS,但該術語也用于一系列屬于分布式計算和大規(guī)模數據處理的相關項目。在其他的Hadoop相關項目的Apache包括有Hive,HBase,Mahout,Sqoop,Flume和Zookeeper。

'Hadoop'

  • 適用于大數據分析

由于大數據在本質上往往是分布式和非結構化的,HADOOP集群最適合分析大數據。由于流向計算節(jié)點的是處理邏輯(不是實際數據),所以消耗更少的網絡帶寬。這個概念被稱為數據局部性,有助于提高基于Hadoop的應用程序的效率。

  • 可擴展性

HADOOP集群可以通過添加額外的集群節(jié)點輕松擴展到任何程度,從而允許大數據的增長。此外,規(guī)模不需要修改應用程序邏輯。

  • 容錯

HADOOP生態(tài)系統(tǒng)具有將輸入數據復制到其他集群節(jié)點的功能。這樣,在群集節(jié)點故障的情況下,數據處理仍然可以通過使用存儲在另一群集節(jié)點上的數據來進行。

Hadoop中的網絡拓撲

當hadoop集群的大小增長時,網絡的拓撲(布置)會影響Hadoop集群的性能。除了性能之外,還需要關注高可用性和故障處理。為了實現這種Hadoop集群的形成,利用網絡拓撲。

通常,網絡帶寬是在構成任何網絡時要考慮的重要因素。然而,由于測量帶寬可能很困難,在Hadoop中,網絡被表示為樹,并且該樹的節(jié)點之間的距離(跳數)被認為是形成Hadoop集群的重要因素。這里,兩個節(jié)點之間的距離等于它們到它們最接近的共同祖先的距離的總和。

Hadoop集群由數據中心,機架和實際執(zhí)行作業(yè)的節(jié)點組成。這里,數據中心由機架和機架組成的節(jié)點組成??捎糜谶M程的網絡帶寬取決于進程的位置。也就是說,下面情況可用帶寬依次變得更小:

  • 進程在同一個節(jié)點上
  • 同一機架上的不同節(jié)點
  • 同一數據中心不同機架上的節(jié)點
  • 不同數據中心的節(jié)點
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容