大數據學習(三)Hadoop生態簡介

Hadoop優勢

  • 高可靠性:由於在不同的節點或者相同的節點都存在着一份或者多份的數據副本也就是備份(後面會我會告訴大家如何設置數據備份的數量),所以面對類似單點故障的情況也不會發生一些數據安全的問題。
  • 高擴展性:我們利用Hadoop框架進行集羣的搭建,所以我們可以進行結點的擴展,很方便,便於算力、資源的擴展。
  • 高效性:Hadoop框架使用的是並行處理的處理方式,多個節點同時工作,效率非常高。
  • 當然可能大家在別的學習途徑上還能看到一些其他的優點,但是這是我體會比較深的三個。也可以說是最重要的。

HDFS架構概述

在上一次的僞分佈的安裝介紹中我們有一幅圖中提到了Hadoop中的四個主要部分,鏈接在這裏添加鏈接描述
而其中HDFS分佈式文件系統更是基礎中的基礎。

  1. 在我們的集羣中不同的節點充當不同的角色。HDFS的體系中,有namenode和datanode以及secondaryNamenode這三種角色。
  • NameNode(nn):存儲文件的元數據,如文件名,文件目錄結構,文件屬性(生成時間、副本數、文件權限),以及每個文件的塊列表和塊所在的DataNode等。
  • DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和。
  • Secondary NameNode(2nn):用來監控HDFS狀態的輔助後臺程序,每隔一段時間獲取HDFS元數據的快照。

MapReduce

簡單來講MapReduce就是一個分佈式的計算框架,而它的命名也就非常好的體現了MapReduce的真諦。哈哈,我說一下我自己的理解啊,不那麼專業,但是真的很好讓人理解。
所謂MapReduce我們分成兩個單詞看,先是Map然後在進行Reduce操作,什麼是Map呢,就是將數據Map,即將數據分塊;那麼什麼是Reduce呢,就是當我們經過map的過程之後就出現了成千上萬個map也就是數據塊,那這可不行我們要將他們的數量減少,進行一定的計算處理進而達到合併的效果,這不就是Reduce嗎。

Yarn架構

說完了HDFS,MapReduce就生下了Yarn了,那接下來就是Hadoop架構中的負責資源管理和調度的yarn的結構介紹了。這裏我們先看一下這個Yarn的架構圖。
在這裏插入圖片描述

這個圖片其實我們也看到了不同的節點角色。其中包括:

  1. Resource Manager:處理客戶端的請求,並進行資源的分配和調度,可以理解爲管理者,同時監控着Node Manager的情況。
  2. Node Manager:負責一個結點的資源的分配和調度,同時響應Resource Manager的命令,同時也響應App Master的命令。

這是主要的架構,同時我們可以發現其實有點像HDFS的架構,因爲都有共同的特點就是主從結構,在後面的學習中我們會經常看到這樣的架構模式出現在大數據的體系中。

HDFS寫數據的流程(這裏我們以上傳文件爲例)

在這裏插入圖片描述

上面的圖片中客戶端的FSDataOutputStream就是一個java的工具類。後面我會交大家配置和使用。
這是讓我受益良多的一張流程圖,非常清楚瞭解釋了HDFS進行數據寫入時的具體流程,大家可以先看一下答題的流程,後面我會親自演示如何進行文件的上傳到分佈式系統,同時使用webConsoleDase進行管理查看。

以上圖片來自潭州教育

由於暑假參加了信安比賽還有實踐,然後開學來了又幫朋友寫了應用,所以斷更了一段時間,真的很抱歉,以後我每週都努力更三篇大數據和4篇數據分析的博文(當然是事少的時候)。一起共勉。

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