首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop HDFS-快照(Snapshots)

Hadoop HDFS-快照(Snapshots)

作者头像
运维小路
发布2025-07-24 17:46:55
发布2025-07-24 17:46:55
16300
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

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

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ

Hadoop HDFS(本章节)

前面讲了很多HDFS的基本操作,并且其他软件也讲解过快照的相关概念:kvm-快照ZooKeeper-快照。本小节我们来讲解HDFS的快照。

1.1 快照概念

HDFS 快照是文件系统在某一时间点的只读镜像,用于快速恢复数据,不占用额外存储空间(仅记录差异)。

1.2 快照特点

  • 轻量级:仅记录文件系统的变化,不复制数据块。
  • 只读:不能修改快照内容,但可基于快照恢复数据。
  • 快速创建:秒级完成,适合频繁备份关键目录。

1.3 快照操作

启用目录快照

代码语言:javascript
代码运行次数:0
运行
复制
[root@node1 ~]# hdfs dfsadmin -allowSnapshot /test1
Allowing snaphot on /test1 succeeded
[root@node1 ~]# 

创建目录快照

代码语言:javascript
代码运行次数:0
运行
复制
[root@node1 ~]# hdfs dfs -createSnapshot /test1 snapshot_2025
Created snapshot /test1/.snapshot/snapshot_2025
[root@node1 ~]# 

查看快照

代码语言:javascript
代码运行次数:0
运行
复制
#列出有快照的目录 
[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 ~]# 

快照保护重要文件

代码语言:javascript
代码运行次数:0
运行
复制
#有快照的目录原始文件
[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

从上面其实我们看出来快照实际就是一个普通的目录,但是却不能按照普通目录删除。

删除快照

代码语言:javascript
代码运行次数:0
运行
复制
[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 总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 快照概念
  • 1.2 快照特点
  • 1.3 快照操作
  • 启用目录快照
  • 创建目录快照
  • 查看快照
  • 快照保护重要文件
  • 从上面其实我们看出来快照实际就是一个普通的目录,但是却不能按照普通目录删除。
  • 删除快照
  • 1.4 总结
  • 可用简单理解这个快照就是:元数据时间点标记 + 块级硬链接。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档