Hadoop回收站及fs.trash引數詳解
前言:
- Linux系統裡,個人覺得最大的不方便之一就是沒有回收站的概念。rm -rf很容易造成極大的損失。而在Hadoop或者說HDFS裡面,有trash(回收站)的概念,可以使得資料被誤刪以後,還可以找回來。
- Hadoop裡的trash選項預設是關閉的,所以如果要生效,需要提前將trash選項開啟,修改conf裡的core-site.xml即可,下面我們測試下開啟前後的區別:
點選(此處)摺疊或開啟
-
[hadoop@hadoop000 ~]$ hdfs dfs -put test.log /
-
[hadoop@hadoop000 ~]$ hdfs dfs -ls /
-
Found 3 items
-
-rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:49 /test.log
-
drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
-
drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
-
# 刪除test.log 注意提示
-
[hadoop@hadoop000 ~]$ hdfs dfs -rm -r /test.log
-
Deleted /test.log
-
# 重新檢視 發現test.log被刪除
-
[hadoop@hadoop000 ~]$ hdfs dfs -ls /
-
Found 2 items
-
drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
- drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
點選(此處)摺疊或開啟
-
[hadoop@hadoop000 hadoop]$ pwd
-
/opt/software/hadoop-2.8.1/etc/hadoop
-
# 增加fs.trash引數配置 開啟trash(程式不需重啟)
-
[hadoop@hadoop000 hadoop]$ vi core-site.xml
-
<property>
-
<name>fs.trash.interval</name>
-
<value>1440</value>
-
</property>
-
<property>
-
<name>fs.trash.checkpoint.interval</name>
-
<value>1440</value>
-
</property>
-
# fs.trash.interval是在指在這個回收週期之內,檔案實際上是被移動到trash的這個目錄下面,而不是馬上把資料刪除掉。等到回收週期真正到了以後,hdfs才會將資料真正刪除。預設的單位是分鐘,1440分鐘=60*24,剛好是一天;fs.trash.checkpoint.interval則是指垃圾回收的檢查間隔,應該是小於或者等於fs.trash.interval。
-
# 參考官方文件:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/core-default.xml
-
-
[hadoop@hadoop000 ~]$ hdfs dfs -put test.log /
-
[hadoop@hadoop000 ~]$ hdfs dfs -ls /
-
Found 3 items
-
-rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /test.log
-
drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
-
drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
-
# 刪除test.log 注意提示的不同
-
[hadoop@hadoop000 ~]$ hdfs dfs -rm -r /test.log
-
18/05/23 16:54:55 INFO fs.TrashPolicyDefault: Moved: 'hdfs://192.168.6.217:9000/test.log' to trash at: hdfs://192.168.6.217:9000/user/hadoop/.Trash/Current/test.log
-
# 發現刪除的檔案在回收站裡
-
[hadoop@hadoop000 ~]$ hdfs dfs -ls /user/hadoop/.Trash/Current
-
Found 1 items
-
-rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /user/hadoop/.Trash/Current/test.log
-
# 恢復誤刪除的檔案
-
[hadoop@hadoop000 ~]$ hdfs dfs -mv /user/hadoop/.Trash/Current/test.log /test.log
-
[hadoop@hadoop000 ~]$ hdfs dfs -ls /
-
Found 3 items
-
-rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /test.log
-
drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
- drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31401187/viewspace-2155457/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- curl常用引數詳解及示例
- linux expr命令引數及用法詳解Linux
- curl庫pycurl例項及引數詳解
- ab壓力測試命令及引數詳解
- nginx命令:啟動,停止及命令引數詳解Nginx
- ajax 引數詳解
- DockerFile引數詳解Docker
- dd引數詳解
- Mysqldump引數詳解MySql
- vmstat 引數詳解
- php-fpm啟動引數及重要配置詳解PHP
- OGG引數詳解
- tar命令引數詳解
- 函式引數詳解函式
- Oracle UNDO引數詳解Oracle
- jqGrid引數詳解
- $.ajax()方法引數詳解
- DataGuard引數配置詳解
- redis info引數詳解Redis
- ES常用引數詳解
- struts配置引數詳解
- 【轉】Cmd引數詳解
- flash wmode引數詳解
- GCC引數詳解(轉)GC
- fstab引數詳解(轉)
- lsblk命令引數詳解
- Dockerfile - 引數與詳解Docker
- 【RECYCLEBIN】Oracle回收站詳解Oracle
- variables_order引數詳解
- oracle rac 核心引數詳解Oracle
- Flink Checkpoint 引數詳解
- find 命令的引數詳解
- Mysql配置引數詳解(一)MySql
- Prometheus hashmod 配置引數詳解Prometheus
- SQL*Plus Set引數詳解SQL
- ntpq –p 各引數詳解
- oracle RMAN引數配置詳解Oracle
- TAR命令引數詳解(轉)