1. 程式人生 > >【圖文詳細 】HDFS面試題:hdfs的回收站(防止誤刪)

【圖文詳細 】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