我曾经犯下一个错误,在我加班非常累,大脑稍有混乱的时候,不小心删除执行了一个命令“hadoop fs -rmr /xxx/xxx”,没有删除提示,几TB的数据,一下子就没有了。简直让我崩溃,后悔莫及。这时你多希望有个时间机器可以让HDFS恢复到删除前的状态。
trash功能就是这个时间机器, 它默认是关闭的,开启后,被你删除的数据将会mv到操作用户目录的".Trash"文件夹,可以配置超过多长时间,系统自动删除过期数据。这样一来,当操作失误的时候,可以把数据mv回来。开启垃圾箱步骤如下:
vi core-site.xml ,添加下面配置,value单位为分钟。
- <property>
- <name>fs.trash.interval</name>
- <value>1440</value>
- </property>
笔者 在CDpu4下不用重启Namenode就可以生效。开启垃圾箱后,如果希望文件直接被删除,可以在使用删除命令时添加“–skipTrash” 参数,如下:
- hadoop fs –rm –skipTrash /xxxx
浙公网安备 33010602011771号