Hadoop架构分析.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop架构分析概要1

S201407031 尹鹏飞;目标;背景:云时代的变革;应用的挑战;成本 ;分布式解决方案?;变革;什么是Hadoop?;? ? ? ? ?;Hadoop应用场景: 电信运营商信令分析与监测 生物工程 股票预测 … ;Hadoop的思想;;倒排索引;Google面对的数据和计算难题 ? 大量的网页怎么存储? ? 搜索算法 Rank 计算问题 两大问题: 1.分布式的文件存储 2.分布式数据计算;Hadoop提供了解决方案: 1. HDFS分布式文件存储系统 2. MapReduce分布式计算模型 ;HDFS分布式文件存储系统 ;Hadoop HDFS;;HDFS 架构 —— NameNode;HDFS 架构 —— NameNode;HDFS 架构 —— DataNode;HDFS 架构 —— 保障可靠性的措施;HDFS 架构 —— 保障可靠性的措施;HDFS通讯结构图;读取文件;写入文件;fsimage fsimage包含文件的目录结构和分块信息,而数据块的位置信息则是通过动态汇总过来的,仅仅存活在内存数据结构中,每一个TaskTracker启动后,都会向NameNode发送注册消息,将其上数据块的状况都告知于NameNode。;主从式结构;对等式结构;两种结构相结合;? ? ? ?;Hadoop也是一个能够分布式处理大规模海量数据的软件框架,这一切都是在可靠、高效、可扩展的基础上。 Hadoop的可靠性——因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。 Hadoop的高效性——在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。 Hadoop的可扩展——依赖于部署Hadoop软件框架计算集群的规模,Hadoop的运算是可扩展的,具有处理PB级数据的能力。;MapReduce分布式计算模型 ;什么是MapReduce编程模型 ? Map(映射):对一些独立元素组成的 列表的每一个元素进行指定的操作,可 以高度并行。 ? Reduce(化简):对一个列表的元素 进行合并。 ? 一个简单的MapReduce程序只需要 指定map()、reduce()、输入和输出,剩 下的事由框架帮你搞定。;MapReduce编程模型;MapReduce:一种通用解决方案 ;它主要有以下4个部分组成: 1)Client 2)JobTracker JobTracke负责资源监控和作业调度。JobTracker 监控所有TaskTracker 与job的健康状况,一旦发现失败,就将相应的任务转移到其他节点;同时,JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器,而调度器会在资源出现空闲时,选择合适的任务使用这些资源。在Hadoop 中,任务调度器是一个可插拔的模块,用户可以根据自己的需要设计相应的调度器。;3)TaskTracker TaskTracker 会周期性地通过Heartbeat 将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)。TaskTracker 使用“slot”等量划分本节点上的资源量。“slot”代表计算资源(CPU、内存等)。一个Task 获取到一个slot 后才有机会运行,而Hadoop 调度器的作用就是将各个TaskTracker 上的空闲slot 分配给Task 使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用。TaskTracker 通过slot 数目(可配置参数)限定Task 的并发度。 4)Task Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动。; HDFS 以固定大小的block 为基本单位存储数据,而对于MapReduce 而言,其处理单位是split。split 是一个逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等。它的划分方法完全由用户自己决定。但需要注意的是,split 的多少决定了Map Task 的数目,因为每个split 只会交给一个Map Task 处理。 Split 和 Block的关系如下图所示:;Map Task 执行过程如下图 所示。由该图可知,Map Task 先将对应的split 迭代解析成一个个key/value 对,依次调用用户自定义的map() 函数进行处理,最终将临时结果存放到本地磁盘上,其中临

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档