1.跨集群数据拷贝

DistCp(distributed copy)是一款被用于大型集群间/集群内的复制工具,该命令的内部原理是MapReduce。

cd /export/servers/hadoop-2.7.5/
bin/hadoop distcp hdfs://node1:8020/jdk-8u241-linux-x64.tar.gz hdfs://cluster2:8020/

2.Archive档案的使用

Hadoop Archives可以有效的处理以上问题,它可以把多个文件归档成为一个文件,归档成一个文件后还可以透明的访问每一个文件。

  1. Usage: hadoop archive -archiveName name -p <parent> <src>* <dest>
  2. #创建归档文件
  3. hadoop archive -archiveName test.har -p /testUsage: hadoop archive -archiveName name -p <parent> <src>* <dest>
  4. #查看归档文件
  5. hdfs dfs -ls /archive/test.har
  6. #解压归档文件
  7. hadoop fs -cp har:///archive/test.har/* /archive2

注意:

  1. 归档文件默认后缀是.har并且执行归档命令其实执行的是MR程序所有要求启动hdfs,yarn集群
  2. 尽管归档文件时hdfs不适合存储小文件的问题但是归档还是不支持压缩
  3. 归档文件的删除不影响源文件,并且需要注意的是源文件的变化并不会生效到归档文件所以文件变更需要重新生成归档文件但是开发环境中我们可以忍受因为我们默认是定期执行归档任务
  4. 归档文件并不会较少磁盘占用,事实上归档只是将小文件合并,特殊结构优化元数据信息

    3.快照

    1、开启指定目录的快照功能
    hdfs dfsadmin -allowSnapshot 路径
    2、禁用指定目录的快照功能
    hdfs dfsadmin -disallowSnapshot 路径
    3、给某个路径创建快照snapshot
    hdfs dfs -createSnapshot 路径
    4指定快照名称进行创建快照snapshot
    hdfs dfs -createSanpshot 路径 名称
    5、给快照重新命名
    hdfs dfs -renameSnapshot 路径 旧名称 新名称
    6、列出当前用户所有可快照目录
    hdfs lsSnapshottableDir
    7、比较两个快照的目录不同之处
    hdfs snapshotDiff 路径1 路径2
    8、删除快照 snapshot
    hdfs dfs -deleteSnapshot <path> <snapshotName>
    9查看创建的快照
    http://node1:50070/explorer.html#/test/.snapshot/s20210109-114129.380
    

    4.HDFS的Trash回收站功能

    ``` 1.通过下面的配置,设置回收的时间
    fs.trash.interval
    10080
    Number of minutes after which the checkpoint gets deleted. If zero, the trash feature is disabled.

```