Hadoop多个集群之间的数据拷贝hdfs快照管理hdfs回收站管理

Posted 格格巫 MMQ!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop多个集群之间的数据拷贝hdfs快照管理hdfs回收站管理相关的知识,希望对你有一定的参考价值。

在我们实际工作当中,极有可能会遇到将测试集群的数据拷贝到生产环境集群,或者将生产环境集群的数据拷贝到测试集群,那么就需要我们在多个集群之间进行数据的远程拷贝,hadoop自带也有命令可以帮我们实现这个功能

1、本地文件拷贝scp

cd /kkb/soft

scp -r jdk-8u141-linux-x64.tar.gz hadoop@node02:/kkb/soft
2、集群之间的数据拷贝distcp

cd /kkb/install/hadoop-2.6.0-cdh5.14.2/

bin/hadoop distcp hdfs://node01:8020/jdk-8u141-linux-x64.tar.gz hdfs://cluster2:8020/
快照顾名思义,就是相当于对我们的hdfs文件系统做一个备份,我们可以通过快照对我们指定的文件夹设置备份,但是添加快照之后,并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。快照的管理一般是运维人员来做。

开启快照权限:

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
任何一个文件系统,基本上都会有垃圾桶机制,也就是删除的文件,不会直接彻底清掉,我们一把都是将文件放置到垃圾桶当中去,过一段时间之后,自动清空垃圾桶当中的文件,这样对于文件的安全删除比较有保证,避免我们一些误操作,导致误删除文件或者数据

fs.trash.interval 10080 fs.trash.checkpoint.interval 值 fs.trash.interval默认值为0,0表示禁用回收站,不是0就表示启动了回收站,这个代表回收站的文件的存活时间,过了这个时间文件就会被删掉。

fs.trash.checkpoint.interval=0默认值也为0,表示检查回收站的间隔时间。

要求fs .interval <=fs.trash.interval。

通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()方法才会进入回收站

Trash trash = New Trash(conf);
trash.moveToTrash(path);
回收站在集群的/user/hadoop/.Trash/ 这个路径下

hdfs dfs -mv trashFileDir hdfsdir
//trashFileDir :回收站的文件路径
//hdfsdir :将文件移动到hdfs的哪个路径下
hdfs dfs -expunge

以上是关于Hadoop多个集群之间的数据拷贝hdfs快照管理hdfs回收站管理的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据Hadoop(十三):HDFS意想不到的其他功能

hadoop常用管理员命令

大数据技术之_04_Hadoop学习_02_HDFS_DataNode(面试开发重点)+HDFS 2.X新特性

Hadoop之联邦HDFS

hadoop-HDFS概述

HDFS跨集群数据合并方案之ViewFileSystem