首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【赵渝强老师】Hadoop HDFS的快照

【赵渝强老师】Hadoop HDFS的快照

原创
作者头像
赵渝强老师
发布2025-08-18 10:48:33
发布2025-08-18 10:48:33
1100
举报
文章被收录于专栏:大数据技术大数据技术

Hadoop HDFS的快照(Snapshot)是一个全部文件系统、或者某个目录在某一时刻的镜像。这里其实可以把HDFS的快照理解成是HDFS提供的一种备份机制。快照应用在以下场景中:

  • 防止用户的错误操作
  • 备份
  • 试验/测试
  • 灾难恢复

视频讲解如下:

由于HDFS的快照功能是针对的目录,因此需要首先使用HDFS的管理员命令开启目录的快照功能,再使用HDFS的操作命令创建目录的快照。

代码语言:powershell
复制
#与快照相关的HDFS管理命令
	[-allowSnapshot <snapshotDir>]
	[-disallowSnapshot <snapshotDir>]
	
#与快照相关的HDFS操作命令
	[-createSnapshot <snapshotDir> [<snapshotName>]]
	[-deleteSnapshot <snapshotDir> <snapshotName>]
	[-renameSnapshot <snapshotDir> <oldName> <newName>]

下面通过具体的步骤来演示如何使用HDFS的快照。

(1)开启/input目录的快照功能。

代码语言:powershell
复制
hdfs dfsadmin -allowSnapshot /input

(2)为/input目录创建第一个快照。

代码语言:powershell
复制
hdfs dfs -createSnapshot /input bk_input_20250817_01

# 在创建HDFS快照的时候,最好遵循一个良好的命名规则。
# 例如,这里创建的快照名称为bk_input_20250817_01,
# 表示在2025年8月17日为input目录创建的第一个快照。

(3)上传一个新的文件到/input目录,如:data1.txt。

代码语言:powershell
复制
hdfs dfs -put data1.txt /input

(4)为/input目录创建第二个快照。

代码语言:powershell
复制
hdfs dfs -createSnapshot /input bk_input_20250817_02

(5)对比/input目录的两个快照。

代码语言:powershell
复制
hdfs snapshotDiff /input bk_input_20250817_01 bk_input_20250817_02

# 输出的信息如下:
Difference between snapshot bk_input_20250817_01 and 
snapshot bk_input_20250817_02 under directory /input:
M	.
+	./data1.txt

# 通过对比快照可以看出第二个快照比第一个快照多了一个文件data1.txt。

(6)通过HDFS的Web Console也可以查看快照的相关信息,如下图所示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档