Hadoop基本框架介紹

Hadoop的三大發行版本

Hadoop的三大發行版本包括:Apache、Cloudera、Hortonworks。

其中:

Apache版本是最原始(最基礎)的版本

對於入門學習的新手比較推薦。

  • 官網地址:http://hadoop.apache.org/releases.html
  • 下載地址:https://archive.apache.org/dist/hadoop/common/

Cloudera在市場常見的互聯網企業中用的較多

安裝及組件最爲方便。(但是出現bug時,需要解決就要收費,一般是工程師按修復時長收費)

  • 官網地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
  • 下載地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

Hortonworks文檔較好,

但是由於2011成立,時間較晚,所以市場上用的並不常見。

  • 官網地址:https://hortonworks.com/products/data-center/hdp/
  • 下載地址:https://hortonworks.com/downloads/#data-platform

Hadoop的優勢

高可靠性:

Hadoop底層維護了多個數據副本,默認副本數爲3個。
所以設備出問題時也可以在其他服務器上找到備份。

高擴展性:

在集羣間分配任務數據,可拓展至數上千的節點。(相當於增加多臺服務器)

高效性:

在MapReduce下,Hadoop可以多臺服務器並行工作,任務處理速度非常快。

高容錯性:

當一個節點上的任務出錯時,可以自動將失敗的任務重新分配給其他節點。

Hadoop的組成

Hadoop1.x與Hadoop2.x的區別

Hadoop1.x的組成

common(輔助工具)+HDFS(數據存儲)+MapReduce(計算+資源調度)

Hadoop2.x的組成

common(輔助工具)+HDFS(數據存儲)+MapReduce(計算)+Yarn(資源調度)

可以看出,Hadoop1.x中,MapReduce同時處理業務邏輯運算和資源調度,耦合性比較大。
在Hadoop2.x中,他將MapReduce中的資源調度抽取出來,變成了Yarn,單獨負責資源調度,而MapReduce則只負責計算。

HDFS架構

  • NameNode(nn):存儲元數據。如文件名、目錄、屬性等。(等價於一本書的目錄)
  • DataNode(dn):存儲文件的塊信息,及文件的校驗和。(等價於書裏面內容)
  • Secondary NameNode(2nn):監控HDFS狀態的後臺程序。

YARN 框架

ResourceManager負責監控所有的NodeManager,是整個集羣的老大。NodeManager是單個節點資源的老大。ApplicationMaster是集羣上運行的任務。

ResourceManager:(整個集羣的老大)

  1. 處理客戶端請求(資源調度,管理所有資源、磁盤等)
  2. 監控NodeManager
  3. 啓動或監控ApplicationMaster
  4. 資源的分配和調度

NodeManager:(單節點資源的老大)

  1. 管理單個節點的資源
  2. 處理來自ResourceMaster的命令
  3. 處理來自ApplicationMaster的命令

ApplicationMaster:

  1. 對數據進行切分
  2. 申請資源、分配任務
  3. 任務監控與容錯

Container:

是YARN中資源的抽象,相當於CPU、磁盤、網絡等。(虛擬化的)

MapReduce架構

MapReduce將計算過程分爲兩個階段:Map和Reduce

  • Map階段並行處理輸入數據(分)
  • Reduce階段對Map結果進行彙總(合)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章