了解hadoop快照功能

xqnpmsa8  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(365)

我试图理解hadoop快照的机制(http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfssnapshots.html). 不幸的是,官方网站apache上的信息量非常有限,所以在这里发布消息。
我在hadoop集群上尝试了这个功能。在获取快照之前,我尝试使用 hdfs dfsadmin -report 实用程序:

[hdfs@bda11node01 ~]$ hdfs dfsadmin -report
...
DFS Used: 15521319604094 (14.12 TB)

我给杜雷托拍了一张快照 /tmp 并获取子目录:

[hdfs@bda11node01 ~]$ hadoop fs -du -s -h  /tmp/.snapshot/snap3
5.1 T  /tmp/.snapshot/snap3

让我吃惊的第一件事是快照的大小和拍摄快照的时间。时间过得很快,尺寸也一样。令我吃惊的第二件事是hdfs实用程序的报告:

[hdfs@bda11node01 ~]$ hdfs dfsadmin -report
    ...
    DFS Used: 15521319604094 (14.12 TB)

在此之后,我从/tmp dir中删除一个子目录并运行恢复。。。这个目录被找到了。。。但我不明白怎么做。有人能描述更多细节吗?谢谢!

hm2xizp9

hm2xizp91#

hdfs快照类似于具有结构共享的持久数据结构,因为新快照不需要预先复制数据,只需要指向源快照(更准确地说是inode中的新记录)的指针。它只支持记录任何数据的修改(对hdfs进行追加和截断)。这类似于许多快照实现所使用的写时拷贝(copy-on-write,cow)。
这项工作是在jira hdfs-2802中完成的,它对设计进行了很好的讨论,包括hdfs设计文件本身*注意:所讨论的rw快照尚未实现。

相关问题