论文部分内容阅读
日志数据记录着系统与网络用户行为等丰富的信息,在网络管理、用户行为分析等诸多领域具有较高的实用价值。随着大数据时代的来临,单位时间内产生的日志数据规模呈几何级数不断增长,日志数据的多样性、异构性与动态变化给日志数据采集、存储和深入分析提出了挑战。传统的日志处理方式主要是基于单节点服务器,没有扩展性,单节点在CPU、I/O与存储方面的性能,都是十分有限的。当前,在实际应用中对日志数据分析的响应时间要求越来越高,实时性已和针对大数据量的高吞吐率并行计算成为了日志数据处理的基本需求。在实时处理的应用场景中,流式计算处理能完成日志流数据的实时处理,可针对一定时间段内规模不大的数据集完成知识提取,但数据量的局限性限制了可应用的算法和结果的可靠程度,因此,实时计算所提取和依赖的知识亟需与离线批处理技术针对大规模离线数据的分析结果相结合。针对信息化和大数据背景下飞速增长的日志数据的采集、存储和分析面临的主要问题与离线数据与实时流数据的知识提取及其整合问题,通过对大数据技术发展理论和实践成果的研究,在分布式系统基础架构Hadoop上通过Storm On YARN从资源调度层面集成MapReduce和Storm两种不同计算框架构建日志数据实时处理平台,采用Flume与HBase完成日志数据分布式采集与存储,利用吞吐率较高的MapReduce完成大规模离线数据的全局性知识提取,通过Storm进行Kafka缓冲区中小规模数据的突发性知识提取、结合知识进行流数据的实时持续计算,在保证实时性的同时提高准确率。本文主要研究内容与结果如下:(1)日志数据实时处理平台研究研究设计具有3层结构的日志数据实时处理平台架构,包括负责数据采集与存储的数据服务层、负责数据分析的业务逻辑层以及实现数据可视化的Web展示层,其中利用共享知识库实现离线分析与实时分析的结合,并整合Hadoop、Storm、Flume、HBase与Kafka等大数据构件实现整体架构的分布式集群环境搭建。(2)日志数据的分布式采集与存储采用Flume将从多源前端服务器中采集到的日志数据几近实时地存储到分布式数据库HBase,其中采用预分区与RowKey随机散列技术对HBase进行优化。实验结果表明,平台有效完成了前端服务器中日志数据几近实时的采集与存储,经过优化后的HBase在日志存储过程中更加充分的利用集群中的I/O和CPU资源,负载更加均衡,有效解决了HBase的“热点”问题。(3)基于MapReduce的离线日志数据深度分析结合MapReduce计算模型将传统数据挖掘算法进行并行化处理,并将算法移植到平台上执行以实现对HBase中历史日志数据的全局性知识提取并存入离线知识库。并针对实际应用将K-means与Apriori进行并行化处理在MapReduce分布式环境下完成聚类分析与关联规则分析。实验结果表明,实验结果表明平台能有效从历史日志数据中提取出高可靠度的知识,并利用MapReduce并行技术使深度分析获得更高的运行效率与扩展性,充分满足大规模日志数据知识提取的应用需求。(4)基于Storm的日志流数据实时分析整合Storm与Kafka实现实时计算的日志流数据源的稳定接入。将传统数据挖掘算法结合Storm模型完成对一定时间窗口内小规模实时数据的突发性知识提取并存入实时知识库,并以共享知识库中的信息作为决策支持对日志流数据进行Storm实时流式计算,完成离线计算与实时计算的结合。并针对实际应用混合K-means、KNN等多个算法完成网络异常识别。实验结果表明,平台能有效提取出实时数据中的突发性知识,并依赖共享知识库完成高精准度的实时持续计算,Storm技术的应用使得实时分析获得更高的实时性,在流式数据处理方面表现出了较大的优势。综上所述,本研究构建的日志数据实时处理平台有效地解决了日志数据的采集、存储与知识提取等问题,融合了Hadoop与Storm的优势,在利用MapReduce提取隐藏在历史日志数据中的全局性知识的同时,基于Storm提取小规模实时日志数据中的突发性知识、结合提取出的两种知识使用Storm传统流式处理对实时日志流数据进行实时持续计算,可为日志数据采集、存储与分析提供新的技术参考,具有一定的实用和推广价值。