1. Hadoop 新特性

2. 集群间数据拷贝

  1. 使用scp实现两个远程主机之间的文件复制
  1. scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt # 推 push
  2. scp -r root@hadoop103:/user/atguigu/hello.txt hello.txt # 拉 pull
  3. scp -r root@hadoop103:/user/atguigu/hello.txt root@hadoop104:/user/atguigu #是通过本地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间ssh没有配置的情况下可以使用该方式。
  1. 采用distcp命令实现两个Hadoop集群之间的递归数据复制
  1. bin/hadoop distcp hdfs://haoop102:9000/user/atguigu/hello.txt hdfs://hadoop103:9000/user/atguigu/hello.txt

3. 小文件存档

14. Hadoop 新特性 - 图1

  1. start-yarn.sh #需要启动yarn服务
  2. bin/hadoop archive -archiveName input.har p /user/atguigu/input /user/atguigu/output #将/user/atguigu/input目录里的所有文件都归档为 input.har
  3. hadoop fs -lsr /user/atguigu/output/input.har
  4. hadoop fs -lsr har:///user/atguigu/output/input.har #查看文档
  5. hadoop fs -cp har:///user/atguigu/output/input.har/* /user/atguigu #解归档文件

4. 回收站

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用

14. Hadoop 新特性 - 图2

  1. 启用回收站修改core-site.xml,配置垃圾回收时间为1分钟。
  1. <property>
  2. <name>fs.trash.interval</name>
  3. <value>1</value>
  4. </property>
  1. 回收站默认路径在集群 /user/atguigu/.Trash/…. 路径下
  2. 修改访问垃圾回收站用户名称
    进入垃圾回收站用户名称,默认是dr.who,修改为atguigu用户
    修改core-site.xml文件
  1. <property>
  2. <name>hadoop.http.staticuser.user</name>
  3. <value>atguigu</value>
  4. </property>
  1. 通过java程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站
  1. Trash trash = New Trash(conf);
  2. trash.moveToTrash(path);
  1. 恢复回收站数据
  1. hadoop fs -mv /user/atguigu/.Trash/Current/user/atguigu/input /user/atguigu/input
  1. 清空回收站
  1. hadoop fs -expunge