1. Hadoop 新特性
2. 集群间数据拷贝
- 使用scp实现两个远程主机之间的文件复制
scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt # 推 push
scp -r root@hadoop103:/user/atguigu/hello.txt hello.txt # 拉 pull
scp -r root@hadoop103:/user/atguigu/hello.txt root@hadoop104:/user/atguigu #是通过本地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间ssh没有配置的情况下可以使用该方式。
- 采用distcp命令实现两个Hadoop集群之间的递归数据复制
bin/hadoop distcp hdfs://haoop102:9000/user/atguigu/hello.txt hdfs://hadoop103:9000/user/atguigu/hello.txt
3. 小文件存档
start-yarn.sh #需要启动yarn服务
bin/hadoop archive -archiveName input.har –p /user/atguigu/input /user/atguigu/output #将/user/atguigu/input目录里的所有文件都归档为 input.har
hadoop fs -lsr /user/atguigu/output/input.har
hadoop fs -lsr har:///user/atguigu/output/input.har #查看文档
hadoop fs -cp har:///user/atguigu/output/input.har/* /user/atguigu #解归档文件
4. 回收站
开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用
- 启用回收站修改core-site.xml,配置垃圾回收时间为1分钟。
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
- 回收站默认路径在集群 /user/atguigu/.Trash/…. 路径下
- 修改访问垃圾回收站用户名称
进入垃圾回收站用户名称,默认是dr.who,修改为atguigu用户
修改core-site.xml文件
<property>
<name>hadoop.http.staticuser.user</name>
<value>atguigu</value>
</property>
- 通过java程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
- 恢复回收站数据
hadoop fs -mv /user/atguigu/.Trash/Current/user/atguigu/input /user/atguigu/input
- 清空回收站
hadoop fs -expunge