HDFS文件压缩
Posted springmoon-venn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS文件压缩相关的知识,希望对你有一定的参考价值。
起因: 集群磁盘剩余空间不足。
删除了存储在HDFS上的,一定时间之前的中间结果,发现并不能释放太多空间,查看计算业务,发现,每天的日志存在数量竟然是10份。/惊恐
/a/log=20180101 #每日原始日志
/b/log=20180101 #每日原始日志,做了清洗
/c/log=20180101 #清洗后的日志移到这里使用
/opt/backup/log=20180101 每日原始日志压缩
四个地方存储了原始日志(每天30G左右),由于所有目录都是3个副本,导致HDFS上几乎相同的文件存了9份(270G),一份本地压缩(5G)
由于都是文本文件,压缩率比较高,就想把其中不常用的目录下的文件拉下了,压缩,放回去。
------------------正文---------------------
第一版操作如下:
1、获取文件 hadoop fs -get /aa/test/xxxx.log 2、压缩 tar -zcvf xxxx.log.tar.gz xxxx.log 3、上传 hadoop fs -put xxxx.log.tar.gz /aa/test/ 4、删除本地临时文件 rm * 5、删除hdfs上文件 hadoop fs -rm /aa/test/xxxx.log
可以执行,但是很慢。
反思一下:
一个文件30G需要如下这么多时间: 从hdfs拉到本地: 10 m 压缩 : 30+ m 上传到hdfs: 10 m
时间太长,花很长的时间把文件来下来压缩了,下次突然要用,可能来不及解压缩。。。
以上是关于HDFS文件压缩的主要内容,如果未能解决你的问题,请参考以下文章
hadoop mapreduce开发实践之HDFS压缩文件(-cacheArchive)