什麼是 HDFS

是什麼?node

HDFS 是基於 Java 的分佈式文件系統,容許您在 Hadoop 集羣中的多個節點上存儲大量數據。編程

起源:網絡

單機容量每每沒法存儲大量數據,須要跨機器存儲。統一管理分佈在集羣上的文件系統稱爲分佈式文件系統。而一旦在系統中,引入網絡,就不可避免地引入了全部網絡編程的複雜性,例如挑戰之一是若是保證在節點不可用的時候——數據不丟失。分佈式

核心概念:oop

 

Block:spa

HDFS中的存儲單元是每一個數據塊block,HDFS默認的最基本的存儲單位是64M的數據塊。和普通的文件系統相同的是,HDFS中的文件也是被分紅64M一塊的數據塊存儲的。不一樣的是,在HDFS中,若是一個文件大小 < 一個數據塊的大小,它是不須要佔用整個數據塊的存儲空間的。日誌

 

 

NameNode:網絡編程

            a. 元數據節點。該節點用來管理文件系統中的命名空間,是 master。其將全部的文件和文件夾的元數據保存在一個文件系統樹中,it

            b. 這些信息在硬盤上保存爲了:命名空間鏡像(namespace image)以及修改日誌(edit log)。ast

            c. 此外,NameNode還保存了一個文件包括哪些數據塊,分佈在哪些數據節點上。然而,這些信息不存放在硬盤上,而是在系統啓動的時候從數據節點(datanode)收集而成的。

 

DataNode:數據節點。是HDFS真正存儲數據的地方。客戶端(client)和元數據節點(NameNode)能夠向數據節點請求寫入或者讀出數據塊。此外,DataNode須要週期性的向元數據節點彙報其存儲的數據塊信息。

 

Secondary NameNode:

從元數據節點並非 NameNode 出現問題時候的備用節點,

a. 它的主要功能是週期性的將 NameNode 中的 namespace image 和 edit log 合併,以防 log 文件過大。

b. 此外,合併事後的 namespace image 文件也會在 Secondary NameNode 上保存一份,以防 NameNode 失敗的時候,能夠恢復。

相關文章
相關標籤/搜索