笔记|hadoop核心组件——HDFS系列讲解之HDFS其他功能介绍


hadoop核心组件——HDFS系列讲解之HDFS其他功能介绍

  • 多个集群之间的数据拷贝
  • hdfs快照snapShot管理
  • HDFS回收站
    • 回收站配置两个参数
    • 启用回收站
    • 查看回收站
    • 通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()才会进入回收站
    • 恢复回收站数据
    • 清空回收站
【笔记|hadoop核心组件——HDFS系列讲解之HDFS其他功能介绍】
多个集群之间的数据拷贝
cd /export/servers/Hadoop-2.6.0-cdh5.14.0/ bin/Hadoop distcp hdfs://node01:8020/jdk-8u141-linux-x64.tar.gzhdfs://cluster2:8020/

hdfs快照snapShot管理
  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 快照名称1 快照名称2
  8. 删除快照snapshot
    hdfs dfs -deleteSnapshot 路径1 快照名称
HDFS回收站 回收站配置两个参数 默认值fs.trash.interval=0,0表示禁用回收站,此值大于0时表示启用回收站,以分钟为单位的垃圾回收时间。用于设置被删掉的数据在回收站的保存时间,数据在回收站的时间超过这个设置的时间,回收站将其永久删除。
默认值fs.trash.checkpoint.interval=0,如果是0,值等同于fs.trash.interval。以分钟为单位的垃圾回收检查间隔。要求fs.trash.checkpoint.interval<=fs.trash.interval。
启用回收站
fs.trash.interval 10080

查看回收站
回收站在集群的 /user/root/.Trash/

通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()才会进入回收站 通过shell命令行删除的数据,会进入回收站。
Trash trash = New Trash(conf); trash.moveToTrash(path);

恢复回收站数据 trashFileDir :回收站的文件路径
hdfsdir :将文件移动到hdfs的哪个路径下
hdfsdfs-mvtrashFileDirhdfsdir

清空回收站
hdfs dfs -expunge

    推荐阅读