文档详情

徐凯文分布式我改的.doc

发布:2016-11-27约4.46千字共6页下载文档
文本预览下载声明
基于 Hadoop集群的日志分析系统的设计与实现 徐凯文 (北华大学 计算机科学技术学院 网络12-2 班 26号) 摘 要 : 当前 Internet 上存在着海量的日志数据,他们中蕴藏着大量可用的信息。对海量数据的存储和分析都是一个艰巨而 复杂的任务,单一主机已经无法满足要求,使用分布式存储和分布式计算来分析数据已经成为了必然的趋势。分布式计 算框架 Hadoop 已经日趋成熟,被广泛的应用于很多领域。该文描述了一个针对大日志分析的分布式集群的构建与实现 过程。介绍了日志分析的现状,使用 vmware 虚拟机搭建了 Hadoop 集群和日志分析系统的构建方法,并对实验结果进行了分析。 关 键 词 : 分布式计算;日志分析;Hadoop集群 1 概述 日志文件是由系统或者应用程序产生的,用于记录系统和应用程序的操作事件如各种服务的启动、运行、关闭等信息。通过 对日志文件的分析可以获得很多有价值的数据也能实现对系统安全、性能等方面的监控。Web 日志[1]是由 Web 服务器产生的,随 着社交网络的兴起,Web2.0 时代的到来,网站的用户访问量的成级数增长,产生的日志文件大幅增多。传统的日志文件分析方式 已经无法满足大数据量日志分析的需求。该文将以 Web 日志文件为例,利用 Hadoop 集群构建一个分布式计算平台为大数据日志 文件的分析提供一个可行的解决方案,以提高了日志分析的效率,为进一步的大数据分析的提供参考。 现今日志文件分析方案是对大的日志文件先进行分割,然后对分割后的日志文件进行分析,分析方法采用文本分析及模式匹 配等,最常见的是采用 awk、python、perl。这种分析方式面对大数据的日志文件分析效率低下,耗时长。对于 Web 分析除了对 Web 日志本身进行分析外还可以主动收集访问信息,然后将信息 存于关系型数据库中。这种方式最常见的是 Google Analytics、百度统计等。这种方式将会影响网站的性能,延长网站的加载时 间。其次如果直接采用第三方的统计,还将会泄露网站的信息。当访问量高时,基于关系型数据库分析的方式将会受到数据库性 能的制约。 2 Hadoop 集群系统概述 日志文件记录了日常操作的原始数据,数据极具价值。随着时间的推移日志文件越来越大,分析难度也随着增大。本系统的 设计就是为了解决文本日志的分析,系统针对 Web 日志。本系统基于搭建好的 Hadoop 分布式架构,将数据先存入到 HDFS 文件系 统中,运行 mapreduce 程序对日志文件进行过滤分析,最后将数据输出到指定文件中。充分发挥了 Hadoop 分布式存储和分布式计算的优势。 解决了海量数据日志文件的分析的难题,采用基于分布式结构的日志分析系统,提高了分析效率。 目标日志是由 Apache 服务器产生的访问日志。Apache 采用默认安装方式时,访问日志 access.log,存在于 Apache安装目录的logs 子目录下。访问日志 access_log 记录了所有对 Web 服务器的访问活动。下面是访问日志中一个典型的记录: 7 - - [30/Jun/2011:18:52:25 +0800] GET /index.php? img=pngWrench HTTP/1.1 200 741 这行内容由 7 项构成 1) 远程主机的 IP地址。2)浏览者的标识(空白用一个“-”占位符替代)3)记录浏览者进行身份验证时提供 的名字(空白用一个“-”占位符替代)。 4)请求的时间。5) 请求类型(METHOD RESOURCE PROTOCOL)。6)状态代码(请求是否成 功及原因)。7)发送给客户端的总字节数。 3 系统的设计与实现 3.1 系统的基本目标 利用分布式的架构对日志文件进行分析,对日志文件进行过滤,按时间对日志数据进行分析。分析主要从页面 pv、ip、请求状 态、流量等方面出发。每月 PV 总量、PV 量最多的一天、每月每个 url 的 pv、每月独立 IP、每天的流量、月总流量、每天的访问状态统 计、每月的访问状态统计、每天的请求方式统计、每月的请求方式统计等等。 3.2 Hadoop 部署 图 1 介绍了 Hadoop 部署的基本结构,MapReduce 模型中的 Master 的主控作业节点称为 JobTracker,此框架下面的所有作业(Job)都是由 JobTracker 进行管理的,它是唯一存在的。TaskTracker,负责每一个具体任务的执行。任务(Task)是具体执
显示全部
相似文档