Hadoop HDFS-快照(Snapshots)

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

图片

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

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 总结

可用简单理解这个快照就是:元数据时间点标记 + 块级硬链接

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值