Hadoop日志压缩算法的研究与实现
2017-05-12王煜骢
王煜骢
(四川大学计算机学院,成都 610065)
Hadoop日志压缩算法的研究与实现
王煜骢
(四川大学计算机学院,成都 610065)
Hadoop集群由于规模增大、运行时间增长使得日志量持续增加,导致存储压力过大。为了节约存储资源,研究并实现一种高效的Hadoop日志无损压缩算法。实验结果表明,该压缩算法与传统的LZW压缩算法的压缩比基本相同,但压缩和解压操作的耗时均小于LZW压缩算法且受文件大小影响更小。
Hadoop;日志;压缩
0 引言
Hadoop[1]作为目前较为流行的分布式计算框架,已被广泛地应用于大数据处理。为了方便用户使用及调试,Hadoop会将其自身的运行状况以日志的形式写入磁盘,主要包括:各类守护进程的运行日志、MapReduce作业的运行日志等。当Hadoop集群规模增大及其使用时间的增长,日志的产生量会急剧增加,从而对磁盘存储造成极大的压力。
为了解决 Hadoop日志过大的问题,本文对Hadoop的日志结构进行了分析,并根据其特点,设计并实现了一种高效的无损压缩算法,对日志进行压缩以节省存储资源,同时保证解压缩过程的高速性。
1 Hadoop日志结构分析
Hadoop日志信息通过Log4j[2]产生,其具体格式为%d{ISO8601}%p%c:%m%n,具体参数说明如下:
●%d:日志时间点的日期或时间,默认格式为ISO8601
●%p:级别,包括:DEBUG,INFO,WARN,ERROR,FATAL
●%c:所属的类,通常为所在类全名
●%m:代码中输出的信息
●%n:回车换行符
由此可知,Hadoop日志信息的具体结构如下:
日志产生时间+空格+级别+空格+所在类全名+冒号+空格+代码输出信息+回车换行符
因此,本文将该日志信息切分为4部分:日志产生时间、级别、所在类全名、代码输出信息。……
