Hadoop2.2、2.4防止误删机制Trash测试
问题导读:1.如何配置hadoop回收站机制?
2.删除hadoop文件后,被删文件被放到什么位置?
3.如何恢复被删除文件?
static/image/hrline/4.gif
hadoop有垃圾回收机制,这里以hadoop2.2实验了一把,回收机制基本变化不大,hadoop2.4同样适用,但是并没有测试
Hadoop回收站trash,默认是关闭的。
建议最好还是把它提前开开,否则误操作的时候,就欲哭无泪了
1.修改conf/core-site.xml,增加
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<description>Number of minutes between trash checkpoints.
If zero, the trash feature is disabled.
</description>
</property>
默认是0.单位分钟。这里我设置的是1天(60*24)
删除数据rm后,会将数据move到当前文件夹下的.Trash目录
2.测试
1)新建目录input
hadoop/bin/hadoop fs -mkdir /input
上面记得加上斜杠/
2)上传文件
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -copyFromLocal test /input
编辑文件内容:
3)删除目录input
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -rm -r /input
14/07/04 22:20:08 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 86400000 minutes, Emptier interval = 0 minutes.
Moved: 'hdfs://master:8020/input' to trash at: hdfs://master:8020/user/aboutyun/.Trash/Current
(这里使用的是hadoop2.2)
4)参看当前目录
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -ls /user/aboutyun
Found 1 items
drwx------ - aboutyun supergroup 0 2014-07-04 22:20 /user/aboutyun/.Trash
发现input删除,在 /user/aboutyun/多了一个目录.Trash
进一步查看.Trash,下面的内容:
5)恢复刚刚删除的目录
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -mv /user/aboutyun/.Trash/Current/input/input
6)检查恢复的数据
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -text /input/test
test :
7)删除.Trash目录(清理垃圾)
aboutyun@master:/usr/hadoop/etc/hadoop$ hadoop fs -rm -r /user/aboutyun/.Trash
14/07/04 22:39:14 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 86400000 minutes, Emptier interval = 0 minutes.
Deleted /user/aboutyun/.Trash
hadoop这个功能很任性化啊! 本帖最后由 nettman 于 2014-9-11 14:52 编辑
2.4.0测试通过!详情见附件!
JackyCheng 发表于 2014-9-10 10:49
2.4.0测试通过!详情见附件!
很牛擦啊
{:soso_e179:}
JackyCheng 发表于 2014-9-10 10:49
2.4.0测试通过!详情见附件!
不出意外,其它后面版本也应该适用
页:
[1]