Hadoop 新特性
# Hadoop 新特性
# 集群间数据拷贝
- 使用 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没有配置的情况下可以使用该方式。
1
2
3
2
3
- 采用 distcp 命令实现两个 Hadoop 集群之间的递归数据复制
bin/hadoop distcp hdfs://hadoop102:8020/user/atguigu/hello.txt hdfs://hadoop103:8020/user/atguigu/hello.txt
1
# 小文件存档

start-yarn.sh #需要启动yarn服务
bin/hadoop archive -archiveName input.har –p /user/atguigu/input /user/atguigu/output #将 hdfs 中的/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 #解归档文件
1
2
3
4
5
6
7
2
3
4
5
6
7
# 回收站
开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用

- 启用回收站修改 core-site.xml,配置垃圾回收时间为 1 分钟。
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
1
2
3
4
2
3
4
- 回收站默认路径在集群 /user/atguigu/.Trash/…. 路径下
- 修改访问垃圾回收站用户名称 进入垃圾回收站用户名称,默认是 dr.who,修改为 atguigu 用户 修改 core-site.xml 文件
<property>
<name>hadoop.http.staticuser.user</name>
<value>atguigu</value>
</property>
1
2
3
4
2
3
4
- 通过 java 程序删除的文件不会经过回收站,需要调用 moveToTrash () 才进入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
1
2
2
- 恢复回收站数据
hadoop fs -mv /user/atguigu/.Trash/Current/user/atguigu/input /user/atguigu/input
1
- 清空回收站
hadoop fs -expunge
1
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
← Hadoop企业优化 日志→