徐凯文分布式我改的_第1页
徐凯文分布式我改的_第2页
徐凯文分布式我改的_第3页
徐凯文分布式我改的_第4页
徐凯文分布式我改的_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 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)是具体执行的基本 单元,每一个作业被拆分成很多的任务,被分配到合适任务节点上去执行,任务节点一边执行分配过来的任务,一边向 JobTracker 汇报执行任务的状态,以此来帮助 JobTracker 了解作业执行的整体情况,向空闲节点分配新的任务等操作。图 1 Hadoop 部署的基本结构3.3 日志数据的HDFS存储 图 2 展示了 HDFS 的工作原理。首先 client 通过调用 DistributedFileSystem 的 create 方法来创建文件。DistributedFileSystem 通 过 RPC 调用 NameNode 在文件系统的名字空间里创建一个文件。 DistributedFileSystem 返回 FSDataOutputStream 给 client。 FS DataOutputStream 封装了一个 DFSOutputStream 来处理与 datanodes 和 namenode 之间的通讯。当 client 写一个 block 数据的时候,DF SOutputStream 把数据分成很多 packet。FSDataOutputStream 询问 namenode 挑选存储这个 block 以及它的副本的 datanode 列表。这 个 datanode 列表组成了一个管道,在上图管道由 2 个 datanode 组成(备份参数是 2),这 2 个 datanode 的选择有一定的副本放置策略。4、FSDataOutputStream 把 packet 写进管道的第一个 datanode,然后管道把 packet 转发给第二个 datanode。当管道里所有 datanode 都返回写入成功,这个 packet 才算写成功,发送应答给 FSDataOutputStream。开始下一个 packet。如果 某个 datanode 写失败了,首先管道关闭。运行正常的 datanode 上正在写的 block 会有一个新 ID(需要和 namenode 通信)。这样失败 的 datanode 上的那个不完整的 block 在上报心跳的时候会被删掉。失败的 datanode 会被移出管道。block 中剩余的 packet 继续写入 管道的其他两个 datanode。同时 namenode 会标记这个 block 的副本个数少于指定值,然后 block 的副本会稍后在另一个 datanode 创建。有些时候多个 datanode 会失败。只要 dfs.replication.min(缺省是 1)个 datanode 成功了,整个写入过程就算成功。缺少的副本会 异步的恢复。当 client 完成了写所有 block 的数据后,调用 FSDataOutputStream 的 close 方法关闭文件。最后 FSDataOutputStream 通 知 namenode 写文件结束。 图 2 HDFS工作原理3.4 日志分析过程 日志分析系统由客户端和 Hadoop 服务器组成,客户端调用 Hadoop 接口将日志文件存入 HDFS 并调用任务, 这里的任务是按顺 序执行的,在前一个任务执行成功后才执行下一个任务,每个任务都完成多件事,每个任务都调用 map 和 reduce 过程,最后一个任 务将数据输出到 HDFS 的文本文件,也可以将文件输出到数据库中,最后根据统计数据进行展示。图 4 HDFS集群况通过分析执行过程的输出,第一个任务 map 过程耗时 2 分 31 秒,reduce 耗时 9 秒,整个任务耗时 2 分 48 秒。Map 过程读取的记 录为 311965 条。reduce 读取字节数为 45431334,输出字节数为 3938231。任务二,map26 秒,reduce,16 秒,累计 47 秒。任务三, map28 秒,reduce,18 秒,累计耗时 51 秒。所有任务总耗时:4 分 16 秒。从数据可以看出,使用 vmware 虚拟机进行构建性能收到主 机性能的影响,受限较多。但是,Hadoop 架构能有效对任务进行调度和分配,达到预期效果。图 5 查看输出录图5可以看出任务输出了三个目录 test-out1、test-out2、test-out3。每个任务输出一个,前两个目录存放的是临时的文件,test- ou3 目录存放的是结果文件。这些输出的文件是根据日期来的,分为月汇总数据和每天的数据,这 图 6 月统计数据 2图 7 单日统计数据体每一天的数据。图 7 是单日统计数据,这一天的 pv 量为 5,get 方式请求为 4,post 方式请求次数为 1,请求的状态码都为 200 即请 求成功,总流量为 1684 字节。5 小结分布式计算作为一项日趋成熟的技术,逐渐展露了其优势。Hadoop 框架很好的将分布式文件系统 HDFS 和 MapReduce 编程模 型进行了融合。使用 Ha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论