实时分布式Web日志分析系统的设计与实现
发布时间:2017-10-22 01:27
本文关键词:实时分布式Web日志分析系统的设计与实现
更多相关文章: 分布式计算 日志分析 Hadoop Map Reduce
【摘要】:Web日志是由Web服务器产生的数据记录,包含着网站运行的重要信息。通过日志分析,我们可以获取网站页面的访问量、分析用户行为、计算用户搜索的关键词排行等,从而实现企业的数据化运营。通常单日访问量在10万以上的中小型网站每天会产生1GB以上的日志文件,对于更大型的网站,可能每小时都会产生10GB以上的日志文件。当日志数据以每天10GB、100GB的速度增长的时候,使用单台主机已无法满足对数据的计算和存储性能需求。因此,采用分布式计算和存储技术来完成对Web日志的分析处理已成为必然的发展趋势。目前较为流行的分布式计算框架是Hadoop,已被广泛应用于日志分析、数据挖掘等领域。Hadoop的核心是通过Map Reduce并行计算模型和分布式存储系统(HDFS)实现对程序、内存、存储资源的管理。其本质是一种后计算流的过程,已足够应对海量数据计算,但在性能方面仍存在一定的缺陷:(1)日志元数据首先会存入到HDFS中,在计算时才重新读取,这其中必定引起一定的计算延迟,时效性得不到保证;(2)HDFS会保存大量的原始日志数据,考虑到冗余备份,会对机器的资源造成极大的浪费。(3)用户必须实现复杂并且难以重用和维护的Map Reduce程序,不具备良好的通用性。因此,针对Hadoop计算的不足,本文提出了一种全新的计算流方案,并设计和实现了一个可视化的Web日志分析系统,具体内容包括:第一,针对日志分析的应用场景,定义系统需求,将系统分为数据采集和存储、后台计算、前端展现三个部分。用户通过系统界面完成日志模型配置,然后系统根据用户规则生成计算任务,并将每分钟的数据统计结果以报表的形式返回给用户。第二,设计系统架构及功能模块,优化系统的计算和存储性能。本文基于Map Reduce并行计算模型,设计了一种更能满足实时性、周期性需求的计算流,降低了计算过程中的延时,提高了数据的齐全度和系统的故障恢复能力。并根据数据结果的周期性,设计了一套优化的存储方案,降低了存储系统的次级索引负担,提高数据检索效率。第三,根据系统各模块处理流程,实现系统功能,包括日志模型管理、数据计算、数据存储、前端展现。其中描述了各模块间的交互数据格式和通信流程,并详细阐述了任务的调度策略和执行过程。第四,设计三个实验场景,验证本日志分析系统的功能及性能。首先通过对某电商网站访问量的统计,分析系统运行情况,然后对比分析了单台主机处理、并行处理、Hadoop计算处理的耗时。测试结果表明分布式计算比单机运算的效率更高,本系统的计算模型比Hadoop的实时性更高。本系统通过分布式计算和存储方案解决了海量日志分析过程中的实时性和数据可靠性问题,并通过配置化的用户界面完成日志分析过程的规范化管理,有效的提高了日志分析的效率,在大数据时代具有一定的现实意义和应用价值。
【关键词】:分布式计算 日志分析 Hadoop Map Reduce
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.09
【目录】:
- 摘要5-7
- ABSTRACT7-16
- 第一章 绪论16-22
- 1.1 研究背景与意义16-18
- 1.2 国内外研究现状与发展趋势18-19
- 1.3 研究内容19-20
- 1.4 论文结构与内容安排20-22
- 第二章 分布式计算平台技术现状22-32
- 2.1 分布式系统概述22-27
- 2.1.1 分布式系统定义22-23
- 2.1.2 分布式系统体系结构23-26
- 2.1.3 分布式系统通信模型26-27
- 2.2 Hadoop基本结构27-30
- 2.2.1 Map Reduce计算模型27-30
- 2.2.2 HDFS架构30
- 2.3 本章小结30-32
- 第三章 日志分析系统需求分析32-36
- 3.1 设计目标32
- 3.2 系统需求分析32-35
- 3.2.1 功能性需求32-34
- 3.2.2 非功能性需求34-35
- 3.3 本章小结35-36
- 第四章 日志分析系统的设计36-52
- 4.1 系统架构设计36-37
- 4.2 系统功能模块设计37-48
- 4.2.1 日志模型管理模块设计37-38
- 4.2.2 日志采集模块设计38-39
- 4.2.3 配置管理模块设计39-41
- 4.2.4 计算模块设计41-44
- 4.2.5 Key-Value存储模块设计44-46
- 4.2.6 Web展现设计46-48
- 4.3 数据处理流程设计48-51
- 4.3.2 配置流48-49
- 4.3.3 计算流49-50
- 4.3.4 查询流50-51
- 4.4 本章小结51-52
- 第五章 日志分析系统的实现52-76
- 5.1 日志模型管理模块实现52-53
- 5.2 日志采集模块的实现53-56
- 5.3 日志计算模块的实现56-70
- 5.3.1 Job Manager任务调度中心57-60
- 5.3.2 Reduce任务执行层60-66
- 5.3.3 Map任务执行层66-70
- 5.4 Key-Value存储模块的实现70-73
- 5.5 Web展示模块的实现73-75
- 5.6 本章小结75-76
- 第六章 系统测试与分析76-88
- 6.1 测试环境配置76-77
- 6.2 实验场景设计77-82
- 6.2.1 网站首页访问量统计77-80
- 6.2.2 日志分析耗时80-82
- 6.3 测试结果与分析82-87
- 6.3.1 网站首页访问量82-85
- 6.3.2 Mapper并行度分析85-86
- 6.3.3 日志分析耗时对比86-87
- 6.4 本章小结87-88
- 第七章 结束语88-90
- 7.1 全文总结及主要贡献88
- 7.2 下一步工作建议88-90
- 致谢90-91
- 参考文献91-95
- 个人简历95-96
- 攻硕期间取得的研究成果96-97
- 学位论文评审后修改说明表97-98
【参考文献】
中国期刊全文数据库 前3条
1 房鼎益,周兴社,康继昌;分布式系统研究进展[J];微电子学与计算机;2000年06期
2 彭国金;刘Z阪,
本文编号:1076161
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/1076161.html