HDFS中的資料塊

2022-03-27 00:54:45 字數 816 閱讀 4527

建立乙個321m的big_file.txt檔案:

寫乙個指令碼:vi test.sh,內容:

#!/bin/bash

for((i=0;i<=$1;i++))

doecho "just an example" >> big_file.txt

done

執行指令碼:bash test.sh 100(增加100行資料,直到檔案大小到321m)

將321m的big_file.txt上傳到hdfs檔案系統中

hadoop fs -put big_file.txt /user/hadoop-twq/cmd

檢視:

hadoop fs -ls -h /user/hadoop-twq/cmd

可以使用webui檢視321m的檔案分成了多少塊,每一塊分布在那乙個節點上,

dfs.block.size

268435456

重啟hdfs,這樣重新開啟webui,big_file.txt每一塊大小仍不會變,因為即使修改了配置,而big_file.txt已經分好資料塊了,需要再次上傳乙個副本big_file.txt(可以重新命名:mv big_file.txt big_file_other.txt)到hdfs,這時候再看webui,就會按照上面配置的進行分塊

HDFS 資料塊損壞

由斷電或其它原因引起的hdfs服務不正常或者塊損壞 一 檢查hdfs的檔案的健康狀態hdfs fsck 二 檢視損壞的塊以及檔案的對應關係hdfs fsck list corruptfileblocks 三 解決辦法 資料可以從其它地方找到 比如mysql 將資料重新重新整理乙份到hdfs上 hdf...

HDFS中資料節點資料塊儲存示例

資料塊在資料節點上是按照如下方式儲存的。首先是乙個儲存的根目錄 hadoop data dfs dn,如下圖所示 接著進入current目錄,如下圖所示 再進入後續的bp 433072574 192.168.1.224 1440568979639下current目錄,如下圖所示 在它下面,有乙個版本...

HDFS 塊快取和聯邦HDFS

塊快取 對於訪問頻繁的塊,顯式地快取在datanode的記憶體中,以堆外塊快取的方式存在 利用快取塊的優勢提高讀操作的效能。聯邦hdfs namenode在記憶體中儲存了每個檔案與每個資料塊的引用關係,超大集群的namenode記憶體會成為瓶頸 hdfs允許擴充套件namenode,不同的namen...