作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:
Web服务器
代理服务器
ZooKeeper
Kafka
RabbitMQ
Hadoop HDFS(本章节)
前面讲了很多HDFS的基本操作,并且其他软件也讲解过快照的相关概念:kvm-快照,ZooKeeper-快照。本小节我们来讲解HDFS的快照。
1.1 快照概念
HDFS 快照是文件系统在某一时间点的只读镜像,用于快速恢复数据,不占用额外存储空间(仅记录差异)。
1.2 快照特点
-
轻量级:仅记录文件系统的变化,不复制数据块。
-
只读:不能修改快照内容,但可基于快照恢复数据。
-
快速创建:秒级完成,适合频繁备份关键目录。
1.3 快照操作
启用目录快照
[root@node1 ~]# hdfs dfsadmin -allowSnapshot /test1
Allowing snaphot on /test1 succeeded
[root@node1 ~]#
创建目录快照
[root@node1 ~]# hdfs dfs -createSnapshot /test1 snapshot_2025
Created snapshot /test1/.snapshot/snapshot_2025
[root@node1 ~]#
查看快照
#列出有快照的目录
[root@node1 ~]# hdfs lsSnapshottableDir
drwxr-xr-x 0 root supergroup 0 2025-07-17 23:41 1 65536 /test1
#查看该目录下的快照
#实际和查看普通文件一样
[root@node1 ~]# hdfs dfs -ls /test1/.snapshot
Found 1 items
drwxr-xr-x - root supergroup 0 2025-07-17 23:41 /test1/.snapshot/snapshot_2025
[root@node1 ~]#
快照保护重要文件
#有快照的目录原始文件
[root@node1 ~]# hdfs dfs -ls /test1/
Found 3 items
-rw-r--r-- 3 root supergroup 13368512 2025-07-18 00:09 /test1/apache-zookeeper-3.8.1-bin.tar.gz
-rw-r--r-- 3 root supergroup 1148 2025-07-11 01:11 /test1/core-site.xml
-rw-r--r-- 3 root supergroup 4969 2025-07-11 01:30 /test1/hadoop-env.sh
#删除文件
[root@node1 ~]# hdfs dfs -rm /test1/apache-zookeeper-3.8.1-bin.tar.gz
Deleted /test1/apache-zookeeper-3.8.1-bin.tar.gz
#从快照恢复数据到原始目录
[root@node1 ~]# hdfs dfs -cp /test1/.snapshot/snapshot_2025/apache-zookeeper-3.8.1-bin.tar.gz /test1/
[root@node1 ~]# hdfs dfs -ls /test1/
Found 3 items
-rw-r--r-- 3 root supergroup 13368512 2025-07-18 00:10 /test1/apache-zookeeper-3.8.1-bin.tar.gz
-rw-r--r-- 3 root supergroup 1148 2025-07-11 01:11 /test1/core-site.xml
-rw-r--r-- 3 root supergroup 4969 2025-07-11 01:30 /test1/hadoop-env.sh
从上面其实我们看出来快照实际就是一个普通的目录,但是却不能按照普通目录删除。
删除快照
[root@node1 ~]# hdfs dfs -rm -r /test1/.snapshot/snapshot_2025/
rm: Modification on a read-only snapshot is disallowed
[root@node1 ~]# hdfs dfs -deleteSnapshot /test1 snapshot_2025
1.4 总结
可用简单理解这个快照就是:元数据时间点标记 + 块级硬链接。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。
1169

被折叠的 条评论
为什么被折叠?



