手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理

磁盘挂载应用:将Hadoop集群中部分文件挂载到B服务器上

应用场景:由于hdfs数据量过多,导致磁盘可用空间不足,需要删除过期的数据腾出空间,同时又要将被删除的数据进行备份处理,以免后期复用

需要删除的文件的hdfs目录:bin/hdfs dfs -ls /ibc/datalogs/apachelogs/archive/2018/201801*
删除的文件需要挂载备份到此目录下:/home/bigdata/mnt/backup
解释:
/ibc/datalogs/apachelogs/archive/2018/201801* —此目录为将要删除的hdfs文件目录
/home/bigdata/mnt/backup --文件挂载的目录

1.首先在bigdata用户下,创建目录

mnt/backup 即为 /home/bigdata/mnt/backup

2.切换到root用户

cd /home/bigdata/mnt/backup目录后,输入mount 10.10.3.201:/vol/bd_backup .
解释:
10.10.3.201:/vol/bd_backup --即为B服务器的目录地址,也就是挂载的服务器地址目录

3.挂载完之后,输入命令 df -h 去验证是否已经挂载成功,以及实时的查看挂载情况,磁盘使用以及剩余量

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第1张图片

4.由于使用的是root用户去挂载的,所以此时该目录 /home/bigdata/mnt/backup 所属用户以及用户组为root,下一步将mnt目录的用户或用户组权限改为nobody,同时赋予777权限,此时backup目录的权限依然是root

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第2张图片

5.再次切换到bigdata用户下,切换到hdfs目录执行命令:

bin/hdfs dfs -get /ibc/datalogs/apachelogs/archive/2018/201801* /home/bigdata/mnt/backup

此时控制台会打印“WARN hdfs.DFSClient: DFSInputStream has been closed already”,说明挂载备份已经开始了
手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第3张图片

6.这时切换到/home/bigdata/mnt/backup目录下,可以看到hdfs数据已经加载进来了

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第4张图片

7.配置B服务器重启后,挂载的数据不会丢失,这里是将挂载的路径写进去,重启后自动加载

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第5张图片

8.由于我们执行挂载操作的目的是为了清理A服务器上过期的文件,此时过期的文件是hdfs上的2018年1月到6月的日志数据,需要使用命令去删除:

[bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201801*
[bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201802*
[bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201803*
[bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201804*
[bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201805*

9.删除完成后,确认一下文件是否成功从磁盘上删除,可以去网页上查看一下节点信息,发现集群中的磁盘空间并没有增加,实际上我们删除的文件还存在磁盘上,只是数据存在回收站里面

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第6张图片

10.进入回收站,找到删除的文件彻底从回收站移除 *

bin/hdfs dfs -ls /user/bigdata/.Trash/191025092901/ibc/datalogs/apachelogs/archive

11.再次确认磁盘空间是否增加,发现集群中各服务器磁盘空间可用量增到90G左右,但是发现10.10.4.3这台服务器只有11.2G可用,此时还需做一下负载均衡操作

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第7张图片
**

12.hdfs负载均衡,执行命令:

sbin/start-balancer.sh -threshold 5

	--此处的‘5’代表阈值 5%,意思就是每台机器的磁盘可用量相差在5%以内

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第8张图片

13.执行完之后再次查看确认,发现原先只有11G空间的服务器现在已经又70多G可用了

手动删除HDFS过期数据清理磁盘空间并将删除的数据进行挂载备份处理_第9张图片

总结:彻底删除hdfs上的文件,需要注意的是由于集群启动了回收站功能,由于设置的是7天内自动清理回收站,所以想要立马清理出内存,需要去回收站清理删除文件,目录为/user/bigdata/.Trash

你可能感兴趣的:(大数据)