Hadoop基础-Hadoop快照管理

                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