基于分布式集群的高可用日志分析系统的设计
发布时间:2021-01-20 05:43
在传统的访问日志分析系统中,数据采集效率较低且日志采集目录不能被递归监听,存储系统及计算系统缺乏高可用性。构建基于分布式集群的高可用日志分析系统,通过Nginx直连Kafka的方式采集实时分析的数据和自定义Source组件的Flume采集离线分析的数据,使用高可用的分布式文件系统HDFS和计算系统Spark分别提供持久化存储和计算引擎,利用Mysql和Hbase分别存储聚合数据及明细数据。实验结果表明,该系统的各项功能符合预期结果,直连Nginx-Kafka的采集方式和自定义Source组件的Flume明显提高采集效率,Zookeeper协调的分布式存储系统HDFS和计算系统Spark均满足高可用性,利用ALS算法测试存储与计算系统的功能。
【文章来源】:中国电子科学研究院学报. 2020,15(05)北大核心
【文章页数】:7 页
【部分图文】:
基于分布式集群的高可用日志分析系统整体架构
1)数据采集模块。在传统的日志分析系统中,我们对日志数据进行分析都是通过Flume采集Nginx生成的日志文件。对于用作实时分析的数据,通过Flume把日志文件发送给Kafka,Flume作为生产者,再由后端程序消费消息进行实时分析。但是这种方式的缺点就是效率会比较慢,在数据量较大的情况下,这对于后面的数据实时分析会产生一定的延迟。本文通过Nginx整合Kafka直接将访问日志发送到Kafka中,可以缩短数据传输时间,提高传输效率。对于用作离线分析的数据,本文仍采用传统的数据采集方式,但通过自定义的Taildir Recursive Source可以实现递归地监听子目录。自定义Source组件的Flume如图2所示。2)数据分析模块。其包括实时计算引擎和离线处理引擎两种模式,以支撑大数据计算及任务调度等应用场景。其中,基于高可用的Spark计算集群,使用Spark SQL对HDFS中的访问日志进行离线分析;使用SparkStreaming实时消费Kafka中的数据,并将数据分成批次处理,然后由Spark引擎进行处理,以生成批处理的最终结果。该模块的架构如图3所示。
2)数据分析模块。其包括实时计算引擎和离线处理引擎两种模式,以支撑大数据计算及任务调度等应用场景。其中,基于高可用的Spark计算集群,使用Spark SQL对HDFS中的访问日志进行离线分析;使用SparkStreaming实时消费Kafka中的数据,并将数据分成批次处理,然后由Spark引擎进行处理,以生成批处理的最终结果。该模块的架构如图3所示。3)数据存储模块。数据存储方面采用分布式存储系统和关系型数据库混搭的方式。分布式文件系统HDFS持久化用于离线处理的访问日志[10]。关系型数据库MySQL用于存放实时分析和离线分析聚合之后的各维度统计指标,便于数据可视化、查询和汇总等应用。分布式列存储系统Hbase具有持久化存储大量数据(TB、PB),良好的随机读写功能,同时处理结构化数据和非结构化数据等特点,可用于存储非聚合数据,如订单明细,交易记录等[11]。
【参考文献】:
期刊论文
[1]实时大数据挖掘系统的设计与实现[J]. 罗俊,于水,杨维,孔华锋. 计算机应用与软件. 2020(03)
[2]基于大数据的智能商务分析平台开发和设计[J]. 郑国凯,黄彩娥. 现代电子技术. 2020(05)
[3]大数据分析技术在网络领域中的研究综述[J]. 冯贵兰,李正楠,周文刚. 计算机科学. 2019(06)
[4]基于分布式Web应用的大数据日志分析方法研究[J]. 孙鲁淼. 电脑知识与技术. 2019(03)
[5]基于分布式集群的网络浏览行为大数据分析平台构建[J]. 蔡艳婧,王强,程实. 中国电子科学研究院学报. 2019(01)
[6]云平台中MySQL数据库高可用性的设计与实现[J]. 康文杰,王勇,俸皓. 计算机工程与设计. 2018(01)
[7]大数据存储架构和算法研究综述[J]. 杨俊杰,廖卓凡,冯超超. 计算机应用. 2016(09)
[8]海量遥感数据分布式集群化存储技术研究[J]. 季艳,鲁克文,张英慧. 计算机科学与探索. 2017(09)
[9]基于大数据的网络舆情分析系统模型研究[J]. 马梅,刘东苏,李慧. 情报科学. 2016(03)
[10]大数据系统综述[J]. 李学龙,龚海刚. 中国科学:信息科学. 2015(01)
本文编号:2988492
【文章来源】:中国电子科学研究院学报. 2020,15(05)北大核心
【文章页数】:7 页
【部分图文】:
基于分布式集群的高可用日志分析系统整体架构
1)数据采集模块。在传统的日志分析系统中,我们对日志数据进行分析都是通过Flume采集Nginx生成的日志文件。对于用作实时分析的数据,通过Flume把日志文件发送给Kafka,Flume作为生产者,再由后端程序消费消息进行实时分析。但是这种方式的缺点就是效率会比较慢,在数据量较大的情况下,这对于后面的数据实时分析会产生一定的延迟。本文通过Nginx整合Kafka直接将访问日志发送到Kafka中,可以缩短数据传输时间,提高传输效率。对于用作离线分析的数据,本文仍采用传统的数据采集方式,但通过自定义的Taildir Recursive Source可以实现递归地监听子目录。自定义Source组件的Flume如图2所示。2)数据分析模块。其包括实时计算引擎和离线处理引擎两种模式,以支撑大数据计算及任务调度等应用场景。其中,基于高可用的Spark计算集群,使用Spark SQL对HDFS中的访问日志进行离线分析;使用SparkStreaming实时消费Kafka中的数据,并将数据分成批次处理,然后由Spark引擎进行处理,以生成批处理的最终结果。该模块的架构如图3所示。
2)数据分析模块。其包括实时计算引擎和离线处理引擎两种模式,以支撑大数据计算及任务调度等应用场景。其中,基于高可用的Spark计算集群,使用Spark SQL对HDFS中的访问日志进行离线分析;使用SparkStreaming实时消费Kafka中的数据,并将数据分成批次处理,然后由Spark引擎进行处理,以生成批处理的最终结果。该模块的架构如图3所示。3)数据存储模块。数据存储方面采用分布式存储系统和关系型数据库混搭的方式。分布式文件系统HDFS持久化用于离线处理的访问日志[10]。关系型数据库MySQL用于存放实时分析和离线分析聚合之后的各维度统计指标,便于数据可视化、查询和汇总等应用。分布式列存储系统Hbase具有持久化存储大量数据(TB、PB),良好的随机读写功能,同时处理结构化数据和非结构化数据等特点,可用于存储非聚合数据,如订单明细,交易记录等[11]。
【参考文献】:
期刊论文
[1]实时大数据挖掘系统的设计与实现[J]. 罗俊,于水,杨维,孔华锋. 计算机应用与软件. 2020(03)
[2]基于大数据的智能商务分析平台开发和设计[J]. 郑国凯,黄彩娥. 现代电子技术. 2020(05)
[3]大数据分析技术在网络领域中的研究综述[J]. 冯贵兰,李正楠,周文刚. 计算机科学. 2019(06)
[4]基于分布式Web应用的大数据日志分析方法研究[J]. 孙鲁淼. 电脑知识与技术. 2019(03)
[5]基于分布式集群的网络浏览行为大数据分析平台构建[J]. 蔡艳婧,王强,程实. 中国电子科学研究院学报. 2019(01)
[6]云平台中MySQL数据库高可用性的设计与实现[J]. 康文杰,王勇,俸皓. 计算机工程与设计. 2018(01)
[7]大数据存储架构和算法研究综述[J]. 杨俊杰,廖卓凡,冯超超. 计算机应用. 2016(09)
[8]海量遥感数据分布式集群化存储技术研究[J]. 季艳,鲁克文,张英慧. 计算机科学与探索. 2017(09)
[9]基于大数据的网络舆情分析系统模型研究[J]. 马梅,刘东苏,李慧. 情报科学. 2016(03)
[10]大数据系统综述[J]. 李学龙,龚海刚. 中国科学:信息科学. 2015(01)
本文编号:2988492
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2988492.html