【圖文詳細 】HDFS面試題:hdfs的回收站(防止誤刪)
預設是關閉的,需要手動開啟,修改配置 core-site.xml
新增:
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<!-- 在回收站停留時間 單位是分鐘 -->
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>1440</value>
<!-- 檢查回收站的時間間隔 小於等於上面的值-->
</property>
如果打開了回收站,hdfs會為每個使用者都建一個回收站,使用者刪除檔案時,檔案並不是徹底地消失了,
而是mv到了/user/使用者名稱/.Trash/這個資料夾下,在一段時間內,使用者可以恢復這些已經刪除的檔案。
如果使用者沒有主動刪除,那麼系統會根據使用者設定的時間把檔案刪除掉,使用者也可以手動清空回收站,
這樣刪除的檔案就再也找不回來了
JavaAPI: Trash trash = new Trash(fs, conf);
trash.moveToTrash(new Path("/xxxx"));
Shell: 如果你想直接刪除某個檔案,而不把其放在回收站,就要用到-skipTrash命令
例如:hadoop fs -rm -r -skipTrash /test
查看回收站:hadoop fs -ls /user/hadoop/.Trash/Current