HDFS定義
??HDFS 全稱 hadoop distribute file system 分布式檔案存盤系統;
??被設計為可以在廉價的機器上存盤大批量的資料,也是Hadoop及大資料生態中最重要一部分,因為所有對資料的計算及分析都要依賴資料的存盤;
??HDFS(Hadoop)是將很多臺機器聯合起來,形成集群進行存盤資料和計算的系統;
HDFS的設計思想
??分而治之,冗余備份是HDFS設計的核心思想,
??HDFS將大檔案切分為小檔案成為block塊,對整個檔案實作了分而治之的管理;
??HDFS對每個切分的小檔案的block進行復制備份,以冗余備份實作HDFS的高容錯性;
HDFS的優缺點
優點:
??1、在廉價的服務器上部署
??2、高容錯性
??3、適合大檔案批處理
??4、適合大量資料計算
??5、適合一次寫入,多次讀取
缺點:
??1、不適合低延時資料訪問
??2、不適合并發寫入
??3、不支持檔案修改
??4、不適合存盤與讀寫小檔案
HDFS組成與架構
??HDFS 使用主從架構(master/slave)主要由 NameNode / DataNode 組成;

1、NameNode
??NameNode 在集群的主服務器(master)中,通常只有一個NameNode正在被使用;
??Namenode 用于管理檔案系統的命名空間及控制 client 對檔案的訪問,
2、DataNode
??DataNode 通常在集群的每一個節點(slave)中都有一個;
??DataNode 用于處理 client 的讀寫請求,并根據NameNode 的指令進行塊(block)的創建、洗掉和復制,
3、Secondary NameNode
??Secondary NameNode 是為了分擔 NameNode 的作業量而存在,當集群龐大 DataNode 數量及其中存盤的 block 的數量過多時,Secondary NameNode 可以幫助 NameNode 分攤壓力,
??例如定期的合并 Fsimage 和 Edits 并回傳給 NameNode;
4、Client
??Client 是客戶端,主要是 HDFS 為程式員提供的操作節點;
??Client 與 NameNode 互動,以獲取檔案的位置資訊;
??Client 與 DataNode 互動,以進行檔案的讀寫;
??Client 對大檔案進行切分,以方便進行上傳檔案;
??Client 提供一些命令來管理和訪問HDFS;
HDFS 擴展知識點
??雖然 HDFS 是將整個大檔案切分成 block 并冗余備份 block 來存盤檔案的,但是 HDFS 提供給使用者感觀上一個完整的檔案系統,

可以使用 Hadoop shell 、java API、hadoop 提供的 web 界面,來創建、洗掉、編輯權限等等檔案操作,
NameNode 管理的命名空間,及 DataNode 存盤的副本:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/425063.html
標籤:其他
上一篇:公司新來的00后真是卷王,作業沒半年,跳槽到我們公司起薪18K都快接近我了
下一篇:Zookeeper的使用記錄
