默认回收站
默认值fs.trash.interval=0,0表示禁用回收站,可以设置删除文件的存活时间。
默认值fs.trash.checkpoint.interval=0,检查回收站的间隔时间。
要求fs.trash.checkpoint.interval<=fs.trash.interval。
比如:一个人犯罪了,法官判入狱3年,如果监狱里面没有狱警,时间到了,谁知道这个人的时间到了该释放了。
启用回收站
修改core-site.xml,配置垃圾回收时间为1分钟。
<property> <name>fs.trash.interval</name> <value>1</value> </property> |
用Xshell连接开启所有会话功能:三台机器都一起配置
[root@bigdata111 hadoop]# vi core-site.xml
配置完回收站:
1.删除123目录中,其中一个test1.java文件: 来测试下配置成功
配置完以后,以后删除文件都会有(INFO)打印信息的,并且给的有详细信息。
存放的目录自动生成,都在:user/root/.Trash/Current 目录中
[root@bigdata111 hadoop]# hdfs dfs -rmr /123/test1.java
rmr: DEPRECATED: Please use '-rm -r' instead.
19/10/09 16:26:05 INFO fs.TrashPolicyDefault: Moved: 'hdfs://bigdata111:9000/123/test1.java' to trash at: hdfs://bigdata111:9000/user/root/.Trash/Current/123/test1.java
2.删除后在查看:
[root@bigdata111 hadoop]# hdfs dfs -lsr /123
lsr: DEPRECATED: Please use 'ls -R' instead.
-rw-r--r-- 3 root supergroup 12288 2019-10-08 23:27 /123/.swp
3.查看所有的回收站的文件:在uesr中,-r 是递归,查看所有的
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/Itstar
-rw-r--r-- 3 root supergroup 64 2019-10-06 10:50 /user/aa
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/itstar
-rw-r--r-- 3 root supergroup 121 2019-10-06 10:50 /user/itstar/itstar
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/Current
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/Current/123
-rw-r--r-- 3 root supergroup 1907 2019-10-08 23:27 /user/root/.Trash/Current/123/test1.java
4.查看后可以恢复:要找到指定的路径
[root@bigdata111 hadoop]# hdfs dfs -mv /user/root/.Trash/Current/123/test1.java /123
5.配置好后,可能要重启下集群才能识别:
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/Itstar
-rw-r--r-- 3 root supergroup 64 2019-10-06 10:50 /user/aa
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/itstar
-rw-r--r-- 3 root supergroup 121 2019-10-06 10:50 /user/itstar/itstar
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/Current
drwx------ - root supergroup 0 2019-10-09 16:33 /user/root/.Trash/Current/123
[root@bigdata111 hadoop]# stop-dfs.sh
Stopping namenodes on [bigdata111]
bigdata111: stopping namenode
bigdata112: stopping datanode
bigdata113: stopping datanode
bigdata111: stopping datanode
Stopping secondary namenodes [bigdata111]
bigdata111: stopping secondarynamenode
[root@bigdata111 hadoop]# start-dfs.sh
Starting namenodes on [bigdata111]
bigdata111: starting namenode, logging to /opt/module/hadoop-2.8.4/logs/hadoop-root-namenode-bigdata111.out
bigdata113: starting datanode, logging to /opt/module/hadoop-2.8.4/logs/hadoop-root-datanode-bigdata113.out
bigdata112: starting datanode, logging to /opt/module/hadoop-2.8.4/logs/hadoop-root-datanode-bigdata112.out
bigdata111: starting datanode, logging to /opt/module/hadoop-2.8.4/logs/hadoop-root-datanode-bigdata111.out
Starting secondary namenodes [bigdata111]
bigdata111: starting secondarynamenode, logging to /opt/module/hadoop-2.8.4/logs/hadoop-root-secondarynamenode-bigdata111.out
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/Itstar
-rw-r--r-- 3 root supergroup 64 2019-10-06 10:50 /user/aa
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/itstar
-rw-r--r-- 3 root supergroup 121 2019-10-06 10:50 /user/itstar/itstar
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/Current
drwx------ - root supergroup 0 2019-10-09 16:33 /user/root/.Trash/Current/123
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/Itstar
-rw-r--r-- 3 root supergroup 64 2019-10-06 10:50 /user/aa
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/itstar
-rw-r--r-- 3 root supergroup 121 2019-10-06 10:50 /user/itstar/itstar
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/Current
drwx------ - root supergroup 0 2019-10-09 16:33 /user/root/.Trash/Current/123
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/Itstar
-rw-r--r-- 3 root supergroup 64 2019-10-06 10:50 /user/aa
drwxr-xr-x - root supergroup 0 2019-10-06 10:50 /user/itstar
-rw-r--r-- 3 root supergroup 121 2019-10-06 10:50 /user/itstar/itstar
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:37 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/191009163700
drwx------ - root supergroup 0 2019-10-09 16:33 /user/root/.Trash/191009163700/123
6.然后会出现:191009163700这样的数字,就代表可以了。
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwx------ - root supergroup 0 2019-10-09 16:37 /user/root/.Trash
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root/.Trash/191009163700
drwx------ - root supergroup 0 2019-10-09 16:33 /user/root/.Trash/191009163700/123
7.回收站配置文件写的1分钟,过完1分钟后,垃圾桶自动清除回收站的文件。
[root@bigdata111 hadoop]# hdfs dfs -lsr /user
lsr: DEPRECATED: Please use 'ls -R' instead.
drwx------ - root supergroup 0 2019-10-09 16:26 /user/root
drwx------ - root supergroup 0 2019-10-09 16:38 /user/root/.Trash
8 .清空回收站
hdfs dfs -expunge