课程设计(二)--Hadoop分布式文件系统(HDFS)运行测试.pdfVIP

  • 33
  • 0
  • 约1.7万字
  • 约 17页
  • 2019-12-19 发布于广东
  • 举报

课程设计(二)--Hadoop分布式文件系统(HDFS)运行测试.pdf

电 子 科 技 大 学 实 验 报 告 学生姓名: 学号: 指导老师:田文洪 实验地点: 实验时间:2009年 12 月 15 日 一、实验室名称: 二、实验项目名称:Hadoop 分布式文件系统(HDFS)运行测试 三、实验学时:16 四、实验原理: 在 SIP 项目设计的过程中,对于它庞大的日志在早先就考虑使用任务分解的 多线程处理模式来分析统计,但是由于统计的内容暂时还是十分简单,所以就采 用 Memcache 作为计数器结合 Mysql 完成了访问控制以及统计的工作。但未来, 对于海量日志分析的工作,还是需要有所准备。现在最火的技术词汇莫过于“云 计算”,在 Open API 日益盛行的今天,互联网应用的数据将会越来越有价值,如 何去分析这些数据,挖掘其内在价值,就需要分布式计算来支撑起海量数据的分 析工作。 回过头来看,早先那种多线程,多任务分解的日志分析设计,其实是分布式 计算的一个单机版缩略,如何将这种单机的工作分拆,变成集群工作协同,其实 就是分布式计算框架设计所涉及的。BEA 和 VMWare 合作采用虚拟机来构建集 群,无非就是希望使得计算机硬件能够类似于应用程序中的资源池中的资源,使 用者无需关心资源的分配情况,最大化了硬件资源的使用价值。分布式计算也是 如此,具体的计算任务交由哪一台机器执行,执行后由谁来汇总,这都由分布式 框架的 Master 来抉择,而使用者只需简单的将待分析内容的提供给分布式计算 系统作为输入,就可以得到分布式计算后的结果。Hadoop 是 Apache 开源组织的 一个分布式计算开源框架,在很多大型网站上都已经得到了应用,亚马逊, Facebook,Yahoo 等等。对于我来说,最近的一个使用点就是服务集成平台的日志 分析,服务集成平台的日志量将会很大,这也正好符合了分布式计算的适用场景 (日志分析,索引建立就是两大应用场景)。 什么是 Hadoop Hadoop 框架中最核心设计就是:MapReduce 和 HDFS 。MapReduce 的思想 是由 Google 的一篇论文所提及而被广为流传的,简单的一句话解释 MapReduce 就是任务的分解与结果的汇总。HDFS 是 Hadoop 分布式文件系统的缩写,为分 布式计算存储提供了底层支持。 MapReduce 从它名字上来看就大致可以看出个缘由,两个动词 Map,Reduce ,Map (展开)就是将一个任务分解成为多个任务,Reduce 就是将 分解后多任务处理的结果汇总起来,得出最后的分析结果。这不是什么新思想, 其实在前面提到了多线程,多任务的设计就可以找到这种思想的影子。不论是现 实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间 的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间 有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。大学老师上 课时让大家去分析关键路径,无非就是找最省时的任务分解执行方式。在分布式 系统中,机器集群就可以看作硬件资源池,将并行的任务拆分交由每一个空闲机 器资源去处理,能够极大地提高计算效率,同时这种资源无关性,对于计算集群 的扩展无疑提供了最好的设计保证。任务分解处理以后,那就需要将处理以后的 结果在汇总起来,这就是 Reduce 要做的工作。 图 1 MapReduce 上图就是MapReduce 大致的结构图,在Map 前还可能会对输入的数据有split 的过程,保证任务并行效率,在Map 之后还会有 shuffle 的过程,对于提高Reduce 的效率以及减小数据传输的压力有很大的帮助。后面会具体提及这些部分的细 节。 根据流程图来说一下具体一个任务执行的情况。 1. 在分布式环境中客户端创建任务并提交。 2. InputFormat做Map前的预处理,主要负责以下工作: 1. 验证输入的格式是否符合JobConfig的输入定义,这个在实现Map 和构建Conf的时候就会知道,不定义

文档评论(0)

1亿VIP精品文档

相关文档