ITPub博客

首页 > 大数据 > Hadoop > Hadoop回收站及fs.trash参数详解

Hadoop回收站及fs.trash参数详解

原创 Hadoop 作者:wang_KJ 时间:2018-06-01 13:50:11 0 删除 编辑

前言:

  • Linux系统里,个人觉得最大的不方便之一就是没有回收站的概念。rm -rf很容易造成极大的损失。而在Hadoop或者说HDFS里面,有trash(回收站)的概念,可以使得数据被误删以后,还可以找回来。
  • Hadoop里的trash选项默认是关闭的,所以如果要生效,需要提前将trash选项打开,修改conf里的core-site.xml即可,下面我们测试下开启前后的区别:
1.不启用trash

点击(此处)折叠或打开

  1. [hadoop@hadoop000 ~]$ hdfs dfs -put test.log /
  2. [hadoop@hadoop000 ~]$ hdfs dfs -ls /
  3. Found 3 items
  4. -rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:49 /test.log
  5. drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
  6. drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
  7. # 删除test.log 注意提示
  8. [hadoop@hadoop000 ~]$ hdfs dfs -rm -r /test.log
  9. Deleted /test.log
  10. # 重新查看 发现test.log被删除
  11. [hadoop@hadoop000 ~]$ hdfs dfs -ls /
  12. Found 2 items
  13. drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
  14. drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
2.启用trash

点击(此处)折叠或打开

  1. [hadoop@hadoop000 hadoop]$ pwd
  2. /opt/software/hadoop-2.8.1/etc/hadoop
  3. # 增加fs.trash参数配置 开启trash(进程不需重启)
  4. [hadoop@hadoop000 hadoop]$ vi core-site.xml
  5.     <property>
  6.         <name>fs.trash.interval</name>
  7.         <value>1440</value>
  8.     </property>
  9.     <property>
  10.         <name>fs.trash.checkpoint.interval</name>
  11.         <value>1440</value>
  12.     </property>
  13. # fs.trash.interval是在指在这个回收周期之内,文件实际上是被移动到trash的这个目录下面,而不是马上把数据删除掉。等到回收周期真正到了以后,hdfs才会将数据真正删除。默认的单位是分钟,1440分钟=60*24,刚好是一天;fs.trash.checkpoint.interval则是指垃圾回收的检查间隔,应该是小于或者等于fs.trash.interval。
  14. # 参考官方文档:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/core-default.xml

  15. [hadoop@hadoop000 ~]$ hdfs dfs -put test.log /
  16. [hadoop@hadoop000 ~]$ hdfs dfs -ls /
  17. Found 3 items
  18. -rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /test.log
  19. drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
  20. drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user
  21. # 删除test.log 注意提示的不同
  22. [hadoop@hadoop000 ~]$ hdfs dfs -rm -r /test.log
  23. 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
  24. # 发现删除的文件在回收站里
  25. [hadoop@hadoop000 ~]$ hdfs dfs -ls /user/hadoop/.Trash/Current
  26. Found 1 items
  27. -rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /user/hadoop/.Trash/Current/test.log
  28. # 恢复误删除的文件
  29. [hadoop@hadoop000 ~]$ hdfs dfs -mv /user/hadoop/.Trash/Current/test.log /test.log
  30. [hadoop@hadoop000 ~]$ hdfs dfs -ls /
  31. Found 3 items
  32. -rw-r--r-- 1 hadoop supergroup 34 2018-05-23 16:54 /test.log
  33. drwx------ - hadoop supergroup 0 2018-05-19 15:48 /tmp
  34. drwxr-xr-x - hadoop supergroup 0 2018-05-19 15:48 /user


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31401187/viewspace-2155457/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论
擅长MySQL运维,对云计算稍有涉猎,公众号『MySQL技术』作者。

注册时间:2016-10-10

  • 博文量
    91
  • 访问量
    219771