HDFS ,Hadoop Distribute File System,hadoop分散式文件系統。 主從架構,分主節點NameNode,從節點DataNode.當然還有個SecondaryName,但這不是淺析里的點.這裡主要講下namenode和datanode的基本概念, 並描述下讀寫過程. ...
HDFS ,Hadoop Distribute File System,hadoop分散式文件系統。
主從架構,分主節點NameNode,從節點DataNode.當然還有個SecondaryName,但這不是淺析里的點.這裡主要講下namenode和datanode的基本概念,
並描述下讀寫過程.
NameNode中存儲的主要是文件的元數據,比如文件名,文件的位置路徑,文件的大小 ,文件的塊信息,文件的副本數
DataNode是真正存儲文件的地方,文件以block[hadoop2.x版本一個block的預設大小是128MB,加入你上傳200MB,那將需要兩個Block]塊的形式存儲,而且預設有3個副本分別預設的放在同一個機架上的不同機器
和不同機架上的機器,Datanode 以數據塊作為容錯單位 通常一個數據塊會備份到三個 datanode 上,如果一個
datanode 出錯,則會去其他備份數據塊(就近原則同一個機架上的機器,沒有再去其他機架上)的 datanode 上讀取,並且會把這個 datanode上的數據塊再複製一份 以達到備份的效果!
讀的過程就是客戶端向NameNode獲取要讀取文件的位置等需要的信息,然後再去對應的datanode上讀數據,
寫的過程就是Client 向 NameNode 發起文件寫入的請求。NameNode 根據文件大小和文件塊配置情況,返回給 Client 它所管理部分 DataNode的信息。
Client 將文件劃分為多個 Block,根據 DataNode 的地址信息,按順序寫入到每一個DataNode 塊中