HDFS 資料塊損壞

2021-09-26 10:09:09 字數 693 閱讀 1898

由斷電或其它原因引起的hdfs服務不正常或者塊損壞

(一)、檢查hdfs的檔案的健康狀態

hdfs fsck /
(二)、檢視損壞的塊以及檔案的對應關係
hdfs fsck -list-corruptfileblocks
(三)、解決辦法:

資料可以從其它地方找到(比如mysql)

將資料重新重新整理乙份到hdfs上

hdfs fsck / delete

# 刪除損壞的檔案,

# 然後重刷乙份到hdfs

資料沒辦法從其它地方找到

檢視相應檔案的資料塊狀態及其副本存放的位置

hdfs fsck -files  -locations -blocks  -racks
hdfs dfs -get hdfs dfs -rm hdfs dfs -put
如果可以找到損壞的副本位置,可以進行手動修復,先將其刪除,然後執行下列命令

刪除副本檔案,而非hdfs檔案

hdfs debug recoverlease -path -retries 10
自動修復

在dn向nn進行blockreport的時候,進行自動修復,預設時間間隔是6h。

Oracle資料塊損壞恢復總結

oracle資料塊損壞恢復總結 在恢復前使用dbv命令檢查資料檔案是否存在壞塊 dbv file d oracle oradata mydb ronly.dbf blocksize 8192 檢視資料壞塊所在資料檔案號及塊號可以對錶進行一次全表掃瞄,如 select count from table...

HDFS中的資料塊

建立乙個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行資料,直到檔案大小到32...

資料塊損壞修復資料相關工具

全稱dbverify,用來檢測資料檔案資料塊的邏輯損壞。用法 dbv file blocksize 8192 dbv檢測資料塊的頭部和尾部,如果第一次發現兩者不匹配,會再讀取一次 如果匹配了,那麼就報出這個資料塊是influx,如果第二次校驗還是不匹配,那麼就認為這個塊是corrupted。之所以重...