一文帶你認識Hadoop

一文帶你認識Hadoop


簡單來說,Hadoop就是存儲海量數據和分析海量數據的工具,是一種在分佈式服務器集羣上存儲海量數據並運行分佈式分析應用的開源框架,並且是以一種可靠、高效、可伸縮的方式進行處理的,其核心部件是HDFS與MapReduce。

  • HDFS是一個分佈式文件系統:引入存放文件元數據信息的服務器Namenode和實際存放數據的服務器Datanode,對數據進行分佈式儲存和讀取。
  • MapReduce是一個計算框架:MapReduce的核心思想是把計算任務分配給集羣內的服務器裏執行。通過對計算任務的拆分(Map計算/Reduce計算)再根據任務調度器(JobTracker)對任務進行分佈式計算。

Hadoop的作用與功能

  • Hadoop採用了分佈式存儲方式,提高了讀寫速度,並擴大了存儲容量
  • 採用MapReduce來整合分佈式文件系統上的數據,可保證分析和處理數據的高效
  • Hadoop還採用存儲冗餘數據的方式保證數據的可靠性(不怕丟數據)
  • Hadoop中HDFS的高容錯特性,以及它是基於Java 語言開發的,使得Hadoop可以部署在低廉的計算機集羣
  • Hadoop中HDFS的數據管理能力,MapReduce處理任務時的高效率,以及它的開源特性,使其在同類的分佈式系統中大放異彩,並在衆多行業中被廣泛採用

Hadoop的優點

  • Hadoop 是可靠的:因爲它假設計算元素和存儲會失敗,因此它維護多個工作數據副本,確保能夠針對失敗的節點重新分佈處理
  • Hadoop 是高效的:因爲它以並行的方式工作,通過並行處理加快處理速度。Hadoop 還是可伸縮的,能夠處理PB 級數據
  • Hadoop成本低:依賴於廉價服務器:因此它的成本比較低,任何人都可以使用
  • 運行在Linux平臺上:Hadoop帶有用Java 語言編寫的框架,因此運行在Linux 生產平臺上是非常理想的
  • 支持多種編程語言:Hadoop 上的應用程序也可以使用其他語言編寫,比如C++

圖解Hadoop體系結構

在這裏插入圖片描述

  • 最底部是Hadoop分佈式文件系統(HDFS),它存儲Hadoop集羣中所有存儲節點上的文件,HDFS的上一層是MapReduce引擎;
  • HBase位於結構化存儲層,是一個分佈式的列存儲數據庫(基於HDFS的一種抽象);
  • Zookeeper是一個分佈式的、高可用性的協調服務,提供分佈式鎖之類的基本服務;
  • Hive是一個建立在Hadoop 基礎之上的數據倉庫,用於管理存儲於HDFS或Hbase中的結構化/半結構化數據

HDFS和MapReduce共同組成了Hadoop分佈式系統體系結構的核心,二者相互作用,完成了Hadoop分佈式集羣的主要任務

現在只是簡單提一下,之後會專門進行講解!

下兩節爲之後的介紹打個樣

圖解HDFS體系結構

在這裏插入圖片描述

HDFS是Master(主控節點)和Slave(從節點)的主從結構。主要由Name-Node、Secondary NameNode、DataNode構成。

  • NameNode:在主控節點上,管理HDFS的命名空間和數據塊映射信存儲元數據與文件到數據塊映射的地方。

命名空間:例如文件系統有哪些文件夾,文件夾裏有哪些文件

  • Secondary NameNode:相當於NameNode的一個備份。
  • DataNode:在從節點上,實際存儲數據、執行數據塊的讀寫並彙報存儲信息給NameNode。
  • HDFS支持用戶以文件的形式存儲數據,文件被分成若干個數據塊,而且這若干個數據塊存放在一組(若干)DataNode上
  • namenode進行統籌,最後datanode直接將結果返回客戶端

圖解MapReduce

在這裏插入圖片描述

MapReduce框架是由一個單獨運行在主節點上的JobTracker 和運行在每個集羣從節點上的TaskTracker共同組成的

主節點會定期輪詢從節點,確認是否可用

主節點負責調度構成一個作業的所有任務,這些任務分佈在不同的從節點上;主節點監控它們的執行情況,並且重新執行之前失敗的任務。從節點僅負責由主節點指派的任務
當一個Job 被提交時,JobTracker接收到提交作業和配置信息之後,就會將配置信息等分發給從節點,同時調度任務並監控TaskTracker的執行

TaskTracker和datanode是一對一的,而JobTracker和namenode可以不在一起

然後MapReduce是什麼呢, 這個分爲Map和reduce, map就是分配任務, 把一個大任務分配成小任務, 這個叫map, 然後reduce就是把每個slave得到的結果彙總起來, 處理結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章