【大數據】Hadoop

HDFS概念

數據塊

數據塊是抽象塊而非整個文件作爲存儲單元
默認大小爲64MB,一般設置爲128M,備份X3
Hadoop數據塊

NameNode

管理文件系統的命名空間,存放文件元數據
維護着文件系統的所有文件和目錄,文件與數據塊的映射
記錄每個文件中各個塊所在數據節點的信息

DataNode

存儲並檢索數據塊
想NameNode更新所存儲的列表

HDFS優點

適合大文件存儲,支持TB、PB級的數據存儲,並有副本策略
可以構建在廉價的機器上,並有一定的容錯和恢復機制
支持流式數據訪問,一次寫入,多次讀取最高效

HDFS缺點

不適合大量小文件存儲
不適合併發寫入,不支持文件隨機修改
不支持隨機讀等低延時的訪問方式

HDFS寫流程

客戶端想NameNode發起寫數據請求
分塊寫入DataNode節點,DataNode自動完成副本備份
DataNode想NameNode彙報存儲完成,NameNode通知客戶端

HDFS讀流程

客戶端想NameNode發起讀數據請求
NameNode找出距離最近的DataNode節點信息
客戶端從DataNode分塊下載文件

YARN概念

ResourceManager

分配和調度資源
啓動並監控ApplicationMaster
監控NodeManager

ApplicationMaster

爲MR類型的程序申請資源並分配給內部任務
負責數據的切分
監控任務的執行及容錯

NodeManager

管理單個節點的資源
處理來自ResourceManager的命令
處理來自ApplicationMaster的命令

MapReduce編程模型

輸入一個大文件,通過Split之後,將其分爲多個分片
每個文件分片由單獨的機器去處理,這就是Map方法
將各個機器計算的結果進行彙總並得到最終的結果,這就是Reduce方法

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