HDFS分塊儲存

2021-10-25 17:58:12 字數 905 閱讀 1541

目標:掌握什麼是分塊儲存,hdfs的分塊儲存策略

hdfs將所有的檔案全部抽象成為block塊來進行儲存,不管檔案大小,全部一視同仁都是以block塊的統一大小和形式進行儲存,方便我們的分布式檔案系統對檔案的管理

所有的檔案都是以block塊的方式存放在hdfs檔案系統當中,在hadoop1當中,檔案的block塊預設大小是64m,hadoop2當中,檔案的block塊大小預設是128m,block塊的大小可以通過hdfs-site.xml當中的配置檔案進行指定

dfs.block.size

塊大小 以位元組為單位//只寫數值就可以

乙個檔案100m,上傳到hdfs占用幾個快?

乙個塊128m,剩餘的28m怎麼辦?

事實上,128只是個數字,資料超過128m,便進行切分,如果沒有超過128m,就不用切分,有多少算多少,不足128m的也是乙個快。這個快的大小就是100m,沒有剩餘28m這個概念

乙個檔案有可能大於集群中任意乙個磁碟

20t/128 = ***塊,這些block塊屬於乙個檔案

使用塊抽象而不是檔案,可以簡化儲存子系統。

塊非常適合用於資料備份進而提供資料容錯能力和可用性

塊快取

通常datanode從磁碟中讀取塊,但對於訪問頻繁的檔案,其對應的塊可能被顯示的快取在datanode的記憶體中,以堆外塊快取的形式存在。預設情況下,乙個塊僅快取在乙個datanode的記憶體中,當然可以針對每個檔案配置datanode的數量。作業排程器通過在快取塊的datanode上執行任務,可以利用塊快取的優勢提高讀操作的效能。

HDFS檔案儲存

理論上hdfs中儲存乙個檔案時會被分成多個block,這些block應該會存放在不同的節點中。例如我們hdfs中有乙個檔案hdfs dfs put flink 1.8.2 bin scala 2.11.tgz 這個檔案被分成了三個block,分別是block0 block1 block2 這三個bl...

hdfs元資料儲存

namenode如何儲存元資料 1.nn對元資料的管理分為三部分,記憶體中完整的元資料,磁碟中接近完整的元資料映象檔案 fsimage 記錄元資料操作資訊的edits檔案 2.snn通過配置,定時請求nn,進行checkpoint 3.nn接受到checkpoint請求,會立即滾動正在寫的edits...

hdfs檔案的儲存

以block塊的形式將大檔案進行相應的儲存 1 64m 2 128m 檔案線性切割成塊 偏移量offset byte block分散儲存在集群節點中 單一檔案block大小一致,檔案與檔案可以不一致 block可以設定副本數,副本分散在不同的節點中,副本數不要超過節點數量 檔案上傳可以設定block...