HDFS的數據保護篇-快照案例

              HDFS的數據保護篇-快照案例
編程

                                        做者:尹正傑vim

版權聲明:原創做品,謝絕轉載!不然將追究法律責任。ide

 

 

一.HDFS保護數據的解決方案工具

  HDFS提供了兩個很是有用的功能,幫助防止用戶刪除文件和目錄,即回收站和快照。

  HDFS回收站功能:
    將刪除的文件和目錄存儲在特定回收站目錄中必定的時間,而後再將其永久刪除。

  HDFS快照功能:
    容許爲HDFS文件或目錄建立只讀時間點副本,若是須要,能夠將其還原到該文件或目錄。

 

二.使用HDFS回收站放置意外數據刪除oop

1>.使用回收站須要注意的事項spa

  若是您的集羣啓用了回收站功能(默認是沒有啓用),當從HDFS刪除文件時,將釋放與該文件相關聯的塊。可是,這種釋放不會當即發生,由於HDFS不會當即移除刪除的文件。相反,它會將刪除的文件移動到回收站目錄中。

  須要注意的是,HDFS回收站是一個用戶級功能,這意味着只有使用"hdfs dfs"文件系統命名刪除的文件纔會存儲在回收站中。若是以編程方式刪除HDFS文件,則它會當即被永久刪除!

  若是你想經過程序防止意外或錯誤的文件刪除,則能夠這樣作:建立一個"trash"實例,並使用要刪除的文件的路徑調用"moveToTrash()"。若是未啓用回收站,則moveToTrash()方法返回false。

2>.配置回收站3d

[root@hadoop101.yinzhengjie.com ~]# vim ${HADOOP_HOME}/etc/hadoop/core-site.xml      #啓用回收站功能只需配置修改該文件的下面2個屬性便可。
    ......
    <property>
        <name>fs.trash.interval</name>
        <value>4320</value>
        <description>指定刪除檢查點的分鐘數,若是爲0(官方默認即爲0),垃圾箱功能將被禁用。我這裏指定了4320分鐘(3天),刪除文件72小時後,Hadoop會將其從HDFS存儲中永久刪除.</description>
    </property>

    <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>30</value>
        <description>指定回收站檢查點之間的分鐘數,該值應該小於或等於fs.trash.interval。默認值爲0(則將該值設置爲fs.trash.interval的值),我這裏設置間隔檢查時間爲30分鐘.</description>
    </property>
    ......
    
[root@hadoop101.yinzhengjie.com ~]# 


舒適提示:
  僅在NameNode上設置fs.trash.interval參數是不夠的。還須要再可從其訪問HDFS的全部客戶端節點上設置它。不然,當刪除文件時,可能會看到文件被當即刪除!
  回收站的間隔是從刪除文件被移動到回收站的時間開始計算。

3>.繞過回收站code

  有時在刪除一些數據時,咱們但願一勞永逸,若是啓用了回收站,已刪除的文件將繼續佔用與該文件關聯的塊,而且沒法釋放空間。這時就須要繞過回收站設施。

  若是想要執行常規刪除以節省HDFS空間,請在刪除文件時指定"-skipTrash"選項,以下圖所示。

  舒適提示:
    由於指定了"-skipTrash"選項,因此繞過了回收站設施,被刪除的文件被當即清除,文件佔用的空間被釋放,而且NameNode命名空間被更新。
    在從用戶目錄刪除超過空間配額的文件時,能夠使用"-skipTrash"選項。

 

三.使用HDFS快照保護重要數據xml

1>.使用快照須要注意的事項blog

  能夠使用HDFS快照來保護集羣以及從災難中恢復。能夠建立整個文件系統或目錄子樹的快照。

  DataNode和塊管理模塊不與快照交互,在NameNode中存儲全部的快照元數據。

  在默認狀況下,不會爲快照啓用HDFS目錄,可是一旦正式將目錄設置爲容許建立快照,就能夠在HDFS上建立快照。能夠選擇將特定目錄或整個文件系統設置爲快照。

  當建立快照時,不會複製任何快。快照文件僅包含塊列表和文件大小。能夠將任何HDFS目錄指定爲快照。爲了刪除可快照的HDFS目錄,它不能包含任何快照,換句話說,若是已啓用的快照目錄下有快照信息,則沒法刪除該目錄。

  舒適提示:
    有了快照之後,可查詢之前版本的數據。能夠訪問當前數據而不減速,但訪問快照數據會有一些延遲。

2>.啓用/禁用HDFS目錄的快照功能

  在使用快照以前,必須在目錄中啓用快照建立。能夠使用dfsadmin工具啓用HDFS目錄快照功能,以下所示。

  能夠使用"-allowSnapshot"選項啓用目錄的快照功能,也能夠使用"-disallowSnapshot"選項禁用目錄的快照功能。
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -help allowSnapshot
-allowSnapshot <snapshotDir>:
    Allow snapshots to be taken on a directory.

[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -help allowSnapshot
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -help disallowSnapshot
-disallowSnapshot <snapshotDir>:
    Do not allow snapshots to be taken on a directory any more.

[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -help disallowSnapshot
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -allowSnapshot /yinzhengjie/
Allowing snaphot on /yinzhengjie/ succeeded
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -allowSnapshot /yinzhengjie/        #對"/yinzhengjie"目錄啓用快照功能
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -disallowSnapshot /yinzhengjie/
Disallowing snaphot on /yinzhengjie/ succeeded
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -disallowSnapshot /yinzhengjie/      #對"/yinzhengjie"目錄禁用快照功能

3>.建立快照

[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -help createSnapshot
-createSnapshot <snapshotDir> [<snapshotName>] :
  Create a snapshot on a directory
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -help createSnapshot
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -createSnapshot /yinzhengjie/ mySnapshot001    #建立快照以前必須得先對該目錄啓用快照功能
createSnapshot: Directory is not a snapshottable directory: /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -allowSnapshot /yinzhengjie/          #啓用快照功能
Allowing snaphot on /yinzhengjie/ succeeded
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -createSnapshot /yinzhengjie/ mySnapshot001    #建立一個名爲"mySnapshot001"的快照名稱,它會生成一個對應目錄喲~
Created snapshot /yinzhengjie/.snapshot/mySnapshot001
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot
Found 1 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:26 /yinzhengjie/.snapshot/mySnapshot001
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/mySnapshot001
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/.snapshot/mySnapshot001/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/.snapshot/mySnapshot001/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -createSnapshot /yinzhengjie/ mySnapshot001    #建立快照以前必須得先對該目錄啓用快照功能

4>.列出已啓用快照功能的目錄

[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir -help
Usage: 
hdfs lsSnapshottableDir: 
    Get the list of snapshottable directories that are owned by the current user.
    Return all the snapshottable directories if the current user is a super user.

[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir -help
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /
Found 4 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:40 /bigdata
drwxr-xr-x   - root admingroup          0 2020-08-20 19:26 /system
drwx------   - root admingroup          0 2020-08-14 19:19 /user
drwxr-xr-x   - root admingroup          0 2020-08-21 16:26 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs  lsSnapshottableDir                 #查看已經啓用快照功能的目錄
drwxr-xr-x 0 root admingroup 0 2020-08-21 16:40 0 65536 /bigdata
drwx------ 0 root admingroup 0 2020-08-14 19:19 0 65536 /user
drwxr-xr-x 0 root admingroup 0 2020-08-21 16:26 1 65536 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfsadmin -disallowSnapshot /bigdata       #此時咱們禁用一個快照目錄
Disallowing snaphot on /bigdata succeeded
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs  lsSnapshottableDir                  #發現被禁用的快照目錄並不會被顯示啦~
drwx------ 0 root admingroup 0 2020-08-14 19:19 0 65536 /user
drwxr-xr-x 0 root admingroup 0 2020-08-21 16:26 1 65536 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir                 #查看已經啓用快照功能的目錄

5>.獲取快照差別報告

[root@hadoop101.yinzhengjie.com ~]# hdfs snapshotDiff -help
Usage: 
hdfs snapshotDiff <snapshotDir> <from> <to>:
    Get the difference between two snapshots, 
    or between a snapshot and the current tree of a directory.
    For <from>/<to>, users can use "." to present the current status,
    and use ".snapshot/snapshot_name" to present a snapshot,
    where ".snapshot/" can be omitted

[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs snapshotDiff -help
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -put /etc/hosts /yinzhengjie/
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 3 items
-rw-r--r--   3 root admingroup        371 2020-08-21 16:45 /yinzhengjie/hosts
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -createSnapshot /yinzhengjie/ mySnapshot002      #建立一個新的快照取名爲"mySnapshot002"
Created snapshot /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot                 #查看"/yinzhengjie"目錄下已經建立的快照信息
Found 2 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:26 /yinzhengjie/.snapshot/mySnapshot001
drwxr-xr-x   - root admingroup          0 2020-08-21 16:46 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs snapshotDiff /yinzhengjie/ mySnapshot001 mySnapshot002        #對比"/yinzhengjie"目錄下2個快照的差別
Difference between snapshot mySnapshot001 and snapshot mySnapshot002 under directory /yinzhengjie:
M    .
+    ./hosts

[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs snapshotDiff /yinzhengjie/ mySnapshot001 mySnapshot002        #對比"/yinzhengjie"目錄下2個快照的差別

6>.快照的內容是隻讀的(話句話說,已建立的快照是不可修改的!)

  用戶能夠啓用本身的快照,管理員經過指定用戶能夠獲取快照的位置來管理快照。快照目錄中的文件和目錄是不可變的,不能在該目錄中添加或刪除任何內容!

  以下所示,我嘗試刪除快照的文件,發現拋出異常: ".snapshot" is a reserved name.

7>.從快照恢復已刪除的文件

[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 3 items
-rw-r--r--   3 root admingroup        371 2020-08-21 16:45 /yinzhengjie/hosts
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -rm -skipTrash /yinzhengjie/wc.txt.gz
Deleted /yinzhengjie/wc.txt.gz
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 2 items
-rw-r--r--   3 root admingroup        371 2020-08-21 16:45 /yinzhengjie/hosts
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/
Found 2 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:26 /yinzhengjie/.snapshot/mySnapshot001
drwxr-xr-x   - root admingroup          0 2020-08-21 16:46 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/mySnapshot001
Found 2 items
-rw-r--r--   2 root admingroup         69 2020-08-14 23:22 /yinzhengjie/.snapshot/mySnapshot001/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/.snapshot/mySnapshot001/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -cp -ptopax /yinzhengjie/.snapshot/mySnapshot001/wc.txt.gz /yinzhengjie/    #選項"-ptopax"表示時間戳,全部權,權限,ACLs和XAttr都保留在複製的快照中。
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/
Found 3 items
-rw-r--r--   3 root admingroup        371 2020-08-21 16:45 /yinzhengjie/hosts
-rw-r--r--   3 root admingroup         69 2020-08-14 23:22 /yinzhengjie/wc.txt.gz
drwxr-xr-x   - root admingroup          0 2020-08-14 23:13 /yinzhengjie/yum.repos.d
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -cp -ptopax /yinzhengjie/.snapshot/mySnapshot001/wc.txt.gz /yinzhengjie/    #選項"-ptopax"表示時間戳,全部權,權限,ACLs和XAttr都保留在複製的快照中。

8>.刪除快照

[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -help deleteSnapshot
-deleteSnapshot <snapshotDir> <snapshotName> :
  Delete a snapshot from a directory
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -help deleteSnapshot
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/
Found 2 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:26 /yinzhengjie/.snapshot/mySnapshot001
drwxr-xr-x   - root admingroup          0 2020-08-21 16:46 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -deleteSnapshot /yinzhengjie/ mySnapshot001        #刪除名爲"mySnapshot001"的快照目錄
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/
Found 1 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:46 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -deleteSnapshot /yinzhengjie/ mySnapshot001        #刪除名爲"mySnapshot001"的快照目錄

9>.刪除快照目錄

  以下圖所示,Hadoop拒絕刪除已有快照的目錄。換句話說,HDFS超級用戶或目錄的全部者不能刪除目錄,在刪除全部快照以前,不能刪除或重命名快照目錄。
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /
Found 4 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:40 /bigdata
drwxr-xr-x   - root admingroup          0 2020-08-20 19:26 /system
drwx------   - root admingroup          0 2020-08-14 19:19 /user
drwxr-xr-x   - root admingroup          0 2020-08-21 17:16 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir          #查看啓用快照功能的目錄
drwx------ 0 root admingroup 0 2020-08-14 19:19 0 65536 /user
drwxr-xr-x 0 root admingroup 0 2020-08-21 17:16 1 65536 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/  #查看"/yinzhengjie"目錄下的現有快照信息
Found 1 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:46 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -rm -r  /yinzhengjie/      #刪除失敗,緣由是"/yinzhengjie"目錄下還有快照未被刪除
rm: Failed to move to trash: hdfs://hadoop101.yinzhengjie.com:9000/yinzhengjie: The directory /yinzhengjie cannot be deleted since /yinzhengjie is snapshottable and already has snapshots
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -deleteSnapshot /yinzhengjie/ mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot/
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -rm -r  /yinzhengjie/      #刪除成功,由於"/yinzhengjie"目錄下的快照信息被刪除了,此處是由於咱們沒有添加"-skipTrash"選項,因此目錄被移動到回收站裏啦~
20/08/21 17:28:52 INFO fs.TrashPolicyDefault: Moved: 'hdfs://hadoop101.yinzhengjie.com:9000/yinzhengjie' to trash at: hdfs://hadoop101.yinzhengjie.com:9000/user/root/.Trash/Current/yinzheng
jie1598002132957
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x   - root admingroup          0 2020-08-21 16:40 /bigdata
drwxr-xr-x   - root admingroup          0 2020-08-20 19:26 /system
drwx------   - root admingroup          0 2020-08-14 19:19 /user
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -rm -r /yinzhengjie/      #刪除成功,由於"/yinzhengjie"目錄下的快照信息被刪除了,此處是由於咱們沒有添加"-skipTrash"選項,因此目錄被移動到回收站裏啦~

[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir          #查看已經啓用快照的目錄
drwx------ 0 root admingroup 0 2020-08-14 19:19 0 65536 /user
drwxr-xr-x 0 root admingroup 0 2020-08-21 17:16 0 65536 /user/root/.Trash/Current/yinzhengjie1598002132957
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -mv /user/root/.Trash/Current/yinzhengjie1598002132957 /yinzhengjie      #若是想要恢復數據,直接將其從回收站移動回原來的路徑便可。
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs lsSnapshottableDir          #再次查看已啓用快照的目錄
drwx------ 0 root admingroup 0 2020-08-14 19:19 0 65536 /user
drwxr-xr-x 0 root admingroup 0 2020-08-21 17:16 0 65536 /yinzhengjie
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -mv /user/root/.Trash/Current/yinzhengjie1598002132957 /yinzhengjie      #若是想要恢復數據,直接將其從回收站移動回原來的路徑便可。

10>.爲已有快照重命名

[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot
Found 2 items
drwxr-xr-x   - root admingroup          0 2020-08-21 18:42 /yinzhengjie/.snapshot/mySnapshot001
drwxr-xr-x   - root admingroup          0 2020-09-02 01:31 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -renameSnapshot /yinzhengjie mySnapshot001 myNewSnapshot          #將"/yinzhengjie"目錄下的mySnapshot001改名爲"myNewSnapshot"
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -ls /yinzhengjie/.snapshot
Found 2 items
drwxr-xr-x   - root admingroup          0 2020-08-21 18:42 /yinzhengjie/.snapshot/myNewSnapshot
drwxr-xr-x   - root admingroup          0 2020-09-02 01:31 /yinzhengjie/.snapshot/mySnapshot002
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# 
[root@hadoop101.yinzhengjie.com ~]# hdfs dfs -renameSnapshot /yinzhengjie mySnapshot001 myNewSnapshot          #將"/yinzhengjie"目錄下的mySnapshot001改名爲"myNewSnapshot"

相關文章
相關標籤/搜索