● 摘要
互联网日志分析和存储一直是一个热点的研究问题。互联网技术的飞速发展,网络产生的信息量越来越大。互联网日志分析面临着新的挑战,如何安全存储并高效地分析统计一个数据中心产生的互联网日志是本文研究重心,经过大量的文献资料调研,从而设计出符合当前需求的日志分析系统。
该系统所分析的日志是Apache访问日志,该系统可以高效分析网站的日志数据;具有大吞吐量,以满足日益增长的互联网日志数据分析需求;具有极强的容错能力,避免因宕机或磁盘损坏等原因而导致数据的丢失。通过对Apache访问型日志的分析,统计出网站的分析指标,并将分析结果以友好的Web界面形式可视化给用户。
本系统共有三大功能模块,数据采集存储模块、数据分析模块、数据结果可视化模块。本文对三大功能模块进行了详细的设计,最终编码实现各个功能模块,同时合理的解决了系统的几个关键问题,从而形成了比较完善的日志分析系统。首先在日志分析的方法上,由传统单机分析方式,转向采用多台机器集群分析的方式,利用Hadoop平台下的Hive、MapReduce方式离线分析,提高了数据分析的效率。该系统中将日志数据存储在集群的分布式文件系统之上,每一份数据都存有相应的备份,保证了数据的存储安全性。针对海量数据的排序效率低的问题,利用采样的方式将数据分区,确定每一个Reduce所要计算数据的范围,即分区。然后为Reduce编号排序,将这些分区信息写成一个分区文件分发到每一个节点,Map的计算结果数据依据分区信息分发到属于自己的Reduce端,而每一个Reduce上的数据局部是有序的,进而保证了数据的全局有序。
该系统最终采用Hadoop、Hive、MapReduce、HDFS(Hadoop分布式文件系统)等分析和存储Apache访问日志,以Web界面的方式可视化数据的分析结果,目前日志分析系统运行良好,可以高效的分析每天从Web站点采集到的日志数据。
相关内容
相关标签