生产上hadoop回收站的坑
1.往HDFS上上传数据后删除发现是直接delete的,没有经过回收站,如下图:
查过官网发现:无论是Apache版本的hadoop还是CDH版本的hadoop默认都是禁用回收站的,因为fs.trash.interval参数都是设置为0,0表示禁用,如下图:
1)Apache版本:https://hadoop.apache.org/docs/r2.10.1/hadoop-project-dist/hadoop-common/core-default.xml
2)CDH版本:https://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2/hadoop-project-dist/hadoop-common/core-default.xml
2.修改core-site.xml文件参数 fs.trash.interval为7乘以24乘以60=10080
重启hadoop,重新给HDFS放入文件,然后在删除进行测试
由上图可发现,当rm HDFS上的数据以后,文件不会被直接删除,而是被move到回收站,但是当超过配置的10080分钟也就是7天之后会被彻底删除。
总结:生产上必须要回收站,且回收站默认时间尽量长,7天。涉及到删除的,不准使用skipTrash跳过回收站,就是让文件进入回收站,以防万一 。