HDFS2.X特性
1.集群键拷贝
1.1 scp实现两个远程主机之间的文件复制
1.推push
scp -r hello.txt root@hadoop103:/user/lsl/hello.txt
2.拉pull
scp -r root@hadoop103:/user/lsl/hello.txt hello.txt
3.通过本地主机中转实现两个远程主机的文件复制(一般用于两个远程主机之间ssh没有配置的情况下)
scp -r root@hadoop103:/user/lsl/hello.txt root@hadoop104:/user/lsl
1.2 采用discp命令实现两个Hadoop集群之间的递归数据复制
bin/hadoop distcp
hdfs://haoop102:9000/user/lsl/hello.txt hdfs://hadoop103:9000/user/lsl/hello.txt
2.Hadoop存档
2.1 作用?
解决处理小文件方法之一!!!
2.2 简介
1.Hadoop存档文件或HAR文件,是一个更高效的文件存档工具,它将文件存入HDFS块,在减少NameNode内存使用的同时,允许对文件进行透明的访问。具体说来,Hadoop存档文件对内还是一个一个独立文件,对NameNode而言却是一个整体,减少了NameNode的内存
图解:
3.快照管理
3.1命令图解
3.2举个自嗨的栗子(可以忽略)
1.开启/禁用指定目录的快照功能
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -allowSnapshot /user/lsl/input
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -disallowSnapshot /user/lsl/input
2.对目录创建快照
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfs -createSnapshot /user/lsl/input
2.1通过web访问hdfs://hadoop102:50070/user/lsl/input/.snapshot/s……// 快照和源文件使用相同数据
扫描二维码关注公众号,回复:
4687935 查看本文章
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfs -lsr /user/lsl/input/.snapshot/
3.指定名称创建快照
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfs -createSnapshot /user/lsl/input miao170508
4.重命名快照
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfs -renameSnapshot /user/lsl/input/ miao170508 lsl170508
5.列出当前用户所有可快照目录
[lsl@hadoop102 hadoop-2.7.2]$ hdfs lsSnapshottableDir
6.比较两个快照目录的不同之处
[lsl@hadoop102 hadoop-2.7.2]$ hdfs snapshotDiff
/user/lsl/input/ . .snapshot/lsl170508
7.恢复快照
[lsl@hadoop102 hadoop-2.7.2]$ hdfs dfs -cp
/user/lsl/input/.snapshot/s20170708-134303.027 /user
4.回收站
4.1作用
开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用
4.2图解
4.3一个自嗨的栗子
1.修改core-site.xml,配置垃圾回收时间为1分钟。
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
2.查看回收站
回收站在集群中的;路径:/user/lsl/.Trash/…
3.修改访问垃圾回收站用户名称,在core-site.xml中设置垃圾回收站用户名称。默认是dr.who修改为lsl
<property>
<name>hadoop.http.staticuser.user</name>
<value>lsl</value>
</property>
4.通过程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
5.恢复回收站数据
[lsl@hadoop102 hadoop-2.7.2]$ hadoop fs -mv
/user/lsl/.Trash/Current/user/lsl/input /user/lsl/input
6.清空回收站
[lsl@hadoop102 hadoop-2.7.2]$ hadoop fs -expunge
其实关于自嗨的栗子,大家可以忽略,那真的只是自嗨。所以没有太多的解释!
版权声明:本博客为记录本人自学感悟,转载需注明出处!
https://me.csdn.net/qq_39657909