Hadoop基础-Hadoop快照管理
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.快照的作用
快照可以迅速对文件(夹)进行备份,不产生新文件,使用差值存储,默认是禁用状态。因此,想要使用快照功能的话得先启用该功能!我们可以通过“hdfs dfsadmin” 命令来启动或者禁止快照管理。
1>.启用快照
[root@yinzhengjie ~]# hdfs dfsadmin -allowSnapShot /data Allowing snaphot on /data succeeded [root@yinzhengjie ~]#
2>.禁用快照
[root@yinzhengjie ~]# hdfs dfsadmin -disallowSnapShot /data Disallowing snaphot on /data succeeded [root@yinzhengjie ~]#
二.创建快照
1>.创建快照
[root@yinzhengjie ~]# hdfs dfs -ls -R / drwxr-xr-x - root supergroup 0 2018-05-27 20:37 /data drwxr-xr-x - root supergroup 0 2018-05-27 18:24 /data/etc -rw-r--r-- 1 root supergroup 6 2018-05-27 18:25 /data/index.html -rw-r--r-- 1 root supergroup 12 2018-05-27 20:28 /data/name.txt -rw-r--r-- 1 root supergroup 11 2018-05-27 18:27 /data/yinzhengjie.sql [root@yinzhengjie ~]# [root@yinzhengjie ~]# echo "hello" > 1.txt [root@yinzhengjie ~]# [root@yinzhengjie ~]# echo "world" > 2.txt [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -put 1.txt /data [root@yinzhengjie ~]# hdfs dfs -put 2.txt /data/etc [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -ls -R / drwxr-xr-x - root supergroup 0 2018-05-27 20:58 /data -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/1.txt drwxr-xr-x - root supergroup 0 2018-05-27 20:58 /data/etc -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/etc/2.txt -rw-r--r-- 1 root supergroup 6 2018-05-27 18:25 /data/index.html -rw-r--r-- 1 root supergroup 12 2018-05-27 20:28 /data/name.txt -rw-r--r-- 1 root supergroup 11 2018-05-27 18:27 /data/yinzhengjie.sql [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfsadmin -allowSnapshot /data #启用快照功能 Allowing snaphot on /data succeeded [root@yinzhengjie ~]# hdfs dfs -createSnapshot /data firstSnapshot #创建快照并起名为“firstSnapshot”。下面一行显示了快照的实际存放位置在一个隐藏目录下。 Created snapshot /data/.snapshot/firstSnapshot [root@yinzhengjie ~]#
2>.查看快照的存放位置
[root@yinzhengjie ~]# hdfs dfs -ls -R /data/.snapshot/firstSnapshot -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/.snapshot/firstSnapshot/1.txt drwxr-xr-x - root supergroup 0 2018-05-27 20:58 /data/.snapshot/firstSnapshot/etc -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/.snapshot/firstSnapshot/etc/2.txt -rw-r--r-- 1 root supergroup 6 2018-05-27 18:25 /data/.snapshot/firstSnapshot/index.html -rw-r--r-- 1 root supergroup 12 2018-05-27 20:28 /data/.snapshot/firstSnapshot/name.txt -rw-r--r-- 1 root supergroup 11 2018-05-27 18:27 /data/.snapshot/firstSnapshot/yinzhengjie.sql [root@yinzhengjie ~]#
3>.webUI查看快照信息
三.验证创建快照后是否产生新的文件
1>.查看快照中的文件
2>.查看同一文件实际存储的信息
3>.创建快照后修改文件数据
[root@yinzhengjie ~]# hdfs dfs -ls -R / drwxr-xr-x - root supergroup 0 2018-05-27 21:02 /data -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/1.txt drwxr-xr-x - root supergroup 0 2018-05-27 20:58 /data/etc -rw-r--r-- 1 root supergroup 6 2018-05-27 20:58 /data/etc/2.txt -rw-r--r-- 1 root supergroup 6 2018-05-27 18:25 /data/index.html -rw-r--r-- 1 root supergroup 12 2018-05-27 20:28 /data/name.txt -rw-r--r-- 1 root supergroup 11 2018-05-27 18:27 /data/yinzhengjie.sql [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll total 181196 -rw-r--r--. 1 root root 185540433 May 27 19:34 jdk-8u131-linux-x64.tar.gz -rw-r--r--. 1 root root 12 May 27 19:38 name.txt [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -cat /data/1.txt hello [root@yinzhengjie ~]# hdfs dfs -appendToFile name.txt /data/1.txt [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -cat /data/1.txt hello yinzhengjie [root@yinzhengjie ~]# hdfs dfs -cat /data/.snapshot/firstSnapshot/1.txt hello [root@yinzhengjie ~]#
4>.小结快照的特点
a>.生成隐藏目录(“.snapshot”)
创建快照时,会在床快快照的目录下生成一个“.snapshot”的隐藏目录,该目录下保存了一个子目录,这个子目录名称就是快照的名称,该目录下存放的都是创建快照时间节点的数据。
b>.快照并不产生新的文件
这个不产生新的文件指的是不完全克隆一份数据出来,而是将数据都指向了同一个存储的ID啦,从上图我们可以很明显的看出来。
c>.修改源文件跟快照无关
当我们源文件时,快照中保存的数据并不会受到影响,快照保存的诗句还是当时创建快照的时间节点数据。
四.快照的其他操作
1>.快照的重命名操作
[root@yinzhengjie ~]# hdfs dfs -ls /data/.snapshot/ Found 1 items drwxr-xr-x - root supergroup 0 2018-05-27 21:02 /data/.snapshot/firstSnapshot [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -renameSnapshot /data firstSnapshot newSnapshot #将/data目录的firstSnapshot快照名称改名为newSnapshot [root@yinzhengjie ~]# hdfs dfs -ls /data/.snapshot/ Found 1 items drwxr-xr-x - root supergroup 0 2018-05-27 21:02 /data/.snapshot/newSnapshot [root@yinzhengjie ~]#
2>.快照的删除操作
[root@yinzhengjie ~]# hdfs dfs -ls /data/.snapshot/ Found 1 items drwxr-xr-x - root supergroup 0 2018-05-27 21:02 /data/.snapshot/newSnapshot [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -deleteSnapshot /data newSnapshot [root@yinzhengjie ~]# [root@yinzhengjie ~]# hdfs dfs -ls /data/.snapshot/ [root@yinzhengjie ~]#
原文:https://www.cnblogs.com/yinzhengjie/p/9099529.html