HDFS的快照講解
一個snapshot(快照)是一個全部文件系統(tǒng)、或者某個目錄在某一時刻的鏡像,使用vmware類似軟件的同學指定,快照可以為虛擬機保存某個狀態(tài),如果做了更改,或者系統(tǒng)被折騰壞,還有個復原的操作。
快照應用在如下場景中:
防止用戶的錯誤操作; 備份:給hdfs目錄做快照,然后復制快照里面的文件到備份; 試驗/測試 災難恢復
HDFS的快照操作
這里測試的Hadoop3.0版本,也是我的線上版本。
開啟快照
hdfs?dfsadmin?-allowSnapshot?/data/test/test_snapshot
[hdfs@cdh-003?~]$?hdfs?dfs?-ls?/data/test/test_snapshot
-rw-r--r--???2?hdfs?supergroup?????????88?2021-10-08?16:59?/data/test/test_snapshot/ods_user1.txt
這里開啟目錄/data/test/test_snapshot快照功能,該目錄當前有一個文件ods_user1.txt。
創(chuàng)建快照
給目錄/data/test/test_snapshot創(chuàng)建了一個快照,名為backup01。
hdfs?dfs?-createSnapshot?/data/test/test_snapshot?backup01
[hdfs@cdh-003?~]$?hdfs?dfs?-ls?/data/test/test_snapshot/.snapshot/backup01
Found?1?items
-rw-r--r--???2?hdfs?supergroup?????????88?2021-10-08?16:59?/data/test/test_snapshot/.snapshot/backup01/ods_user1.txt
可以看到實際上是在開啟快照的目錄下新建了一個文件夾.snapshot,下面有個目錄backup01,里面有一個文件,相當于復制了一份文件。
查看快照
hdfs?lsSnapshottableDir
再上傳一個文件
hdfs?dfs?-put?data/urls.txt?/data/test/test_snapshot
再創(chuàng)建一個快照
?hdfs?dfs?-createSnapshot?/data/test/test_snapshot?backup02
這里又新建了一個快照backup02,.snapshot下面有兩個目錄,分別是backup01和backup02。
[hdfs@cdh-003?~]$?hdfs?dfs?-ls?/data/test/test_snapshot/.snapshot
Found?3?items
drwxr-xr-x???-?hdfs?supergroup??????????0?2021-10-08?17:04?/data/test/test_snapshot/.snapshot/backup01
drwxr-xr-x???-?hdfs?supergroup??????????0?2021-10-08?17:12?/data/test/test_snapshot/.snapshot/backup02
對比快照
因為后來又上傳了一個文件,所以快照backup02下面有2個文件了,比backup01多一個文件urls.txt。
[hdfs@cdh-003?~]$?hdfs?snapshotDiff?/data/test/test_snapshot?backup01?backup02
Difference?between?snapshot?backup01?and?snapshot?backup02?under?directory?/data/test/test_snapshot:
M?.
+?./urls.txt
恢復快照如果不小心把文件刪除了,這個文件就被移動到回收站(如果開啟了回收站),如果回收站到期清理了或者沒有開啟回收站,這個時候快照的作用就發(fā)揮出來了,直接 cp過去。
hdfs?dfs?-cp?/data/test/test_snapshot/.snapshot/backup01/ods_user1.txt?/data/test/test_snapshot
猜你喜歡
mysql自增id用完了怎么辦?
Hadoop 數(shù)據(jù)遷移用法詳解
Hbase修復工具Hbck
數(shù)倉建模分層理論
一文搞懂Hive的數(shù)據(jù)存儲與壓縮
大數(shù)據(jù)組件重點學習這幾個
評論
圖片
表情
