HDFS之垃圾回收箱配置及使用

13545163656發表於2018-05-23
HDFS為每個使用者建立一個回收站:
目錄:/user/使用者/.Trash/Current
系統回收站都有一個週期,週期過後hdfs會徹底刪除清空,週期內可以恢復

1.HDFS刪除檔案,無法恢復
[hadoop@hadoop001 opt]$ hdfs dfs -rm /123.log
Deleted /123.log

2. 啟用回收站功能
[hadoop@hadoop001 hadoop]$ vim core-site.xml

  1. <property>
  2. <!--多長時間建立CheckPoint NameNode截點上執行的CheckPointer 從Current資料夾建立CheckPoint;預設:0 由fs.trash.interval項指定 -->
  3.     <name>fs.trash.checkpoint.interval</name>
  4.     <value>0</value>
  5. </property>
  6. <property>
  7. <!--多少分鐘.Trash下的CheckPoint目錄會被刪除,該配置伺服器設定優先順序大於客戶端,預設:不啟用 -->
  8.     <name>fs.trash.interval</name>
  9.     <value>1440</value>    -- 清除週期分鐘(24小時)
  10. </property>


2.重啟hdfs服務
[hadoop@hadoop001 sbin]$ ./stop-dfs.sh
[hadoop@hadoop001 sbin]$ ./start-dfs.sh


3.測試回收站功能
[hadoop@hadoop001 opt]$ hdfs dfs -put 123.log /
[hadoop@hadoop001 opt]$ hdfs dfs -ls /
-rw-r--r--   1 hadoop supergroup        162 2018-05-23 11:30 /123.log

#檔案刪除成功存放回收站路徑下
[hadoop@hadoop001 opt]$ hdfs dfs -rm /123.log
18/05/23 11:32:50 INFO fs.TrashPolicyDefault: Moved: 'hdfs://192.168.0.129:9000/123.log' to trash at: hdfs://192.168.0.129:9000/user/hadoop/.Trash/Current/123.log
[hadoop@hadoop001 opt]$ hdfs dfs -ls /
Found 1 items
drwx------   - hadoop supergroup          0 2018-05-23 11:32 /user

#恢復檔案
[hadoop@hadoop001 ~]$ hdfs dfs -mv /user/hadoop/.Trash/Current/123.log /456.log
[hadoop@hadoop001 ~]$ hdfs dfs -ls /
Found 2 items
-rw-r--r--   1 hadoop supergroup        162 2018-05-23 11:30 /456.log
drwx------   - hadoop supergroup          0 2018-05-23 11:32 /user

#刪除檔案跳過回收站

[hadoop@hadoop000 hadoop]$ hdfs dfs -rm -skipTrash /rz.log1
[hadoop@hadoop001 ~]$ hdfs dfs -rm -skipTrash /456.log
Deleted /456.log




原始碼參考:
https://blog.csdn.net/tracymkgld/article/details/17557655

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31441024/viewspace-2154964/,如需轉載,請註明出處,否則將追究法律責任。

相關文章