HDFS Datanode數據存儲格式分析

首先在Datanode中,每一個block都對應一個數據存儲文件,數據存儲文件以_blk開頭;同時,每一個block還對應一個元數據文件,元數據文件以.meta結尾(注意:meta file的命名格式如下blokcFileName_generationStamp.meta)。

首先將一下我理解的幾個概念。在HDFS中有storage的概念,每一個節點對應一個storage。我們可以理解爲一個Datanode是一個storage,一個Namenode也是一個storage。一個storage可以對應於多個存儲目錄(按照我的理解,不同的存儲目錄應該是對應於不同的硬盤或者存儲裝置)。在Datanode中代表實際數據存儲的是FSDatasetFSDataset由多個FSVolume組成。每一個FSVolume對應於storage中一個存儲目錄(相當於一個FSVolume對應於一個硬盤)。最終,由FSVolume進行數據的存儲。每個FSVolume包含了幾個文件夾,包括dataDir(用來保存blocksmeta file)tmpDir(臨時文件夾)、detachDircopy on write for blocks in snapshot,在寫block時,在detachDir中保存一個備份,以便進行數據恢復)。


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