Hadoop核心机制详细解析.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hadoop核心机制详细解析

Hadoop的核心机制是通过HDFS文件系统和MapReduce算法进行存储资源、内存和程序的有效利用与管理。在现实的实例中,通过Hadoop,可以轻易的将多台普通的或低性能的服务器组合成分布式的运算-存储集群,提供大数据量的存储和处理能力。知其然,知其所以然。要想深入学习和理解Hadoop的核心机制,还要从MapReduce和HDFS的原理入手。MapReduce的“大事化小”作为Google提出的架构,MapReduce通过Map(映射)和Reduce(化简)来实现大规模数据(TB级)的并行计算。可以简单理解 为,通过Map(映射)函数,把一组键值对映射成一组新的键值对;指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键 组。MapReduce是一种大数据计算的开发模式和思想方法。开发人员先分析需求所提出问题的解决流程,找出数据可以并发处理的部分(Reduce),也就是那些能够分解为小段的可并行处理的数据,再将这些能够采用并发处理的需求写成Map程序(Map)。然后就可以使用大量服务器来执行Map程序,并将待处理的庞大数据切割成很多的小份数据,由每台服务器分别执行Map程序来处理分配到的那一小段数据,接着再将每一个Map程序分析出来的结果,透过Reduce程序进行合并,最后则汇整出完整的结果。MapReduce的整个流程就像…MapReduce是Hadoop分布式计算的关键技术,将要执行的问题,拆解成Map和Reduce的方式来执行,以达到分散运算的效果。例如要 搜寻网页中的“In Big Data”这个词,可以先用Map程序,来计算出所有网页中,每一个词的位置。再使用Reduce程序,在每一个字的清单中,检索出“In Big Data”所对应的URL,您就来到了这个博客。MapReduce程序的执行过程如下:?MapReduce运行流程MapReduce的运作方式就像快递公司一样。物流部门会将发往各地的包裹先运送到各地的物流分站,再由分站派出进行派送;快递员等每个包裹的用 户签单后将数据反馈给系统汇总,完成整个快递流程。在这里,每个快递员都会负责配送,所执行的动作大致相同,且只负责少量的包裹,最后由物流公司的系统进 行汇总(而不是从一个库房一个快递员直接发往各地;这样的话估计顺风、京东神马的会被人骂死)。在Hadoop集群架构中,服务器依据用途可分成Master节点和Worker节点,Master负责分配任务,而Worker负责执行任务。Hadoop中的Master与WorkerHadoop运算集群中的服务器依用途分成Master节点和Worker节点。Master节点中含有JobTracker、NameNode、 TaskTracker和DataNode程序;Worker节点含有TaskTracker和DataNode。另外在系统的架构上,最简单的 Hadoop架构,可以分成上层的MapReduce运算层以及下层的HDFS数据层。在Master节点的服务器中会执行两套程序:一个是负责安排MapReduce运算层任务的JobTracker,以及负责管理HDFS数据层的 NameNode程序。而在Worker节点的服务器中也有两套程序,接受JobTracker指挥,负责执行运算层任务的是TaskTracker程 序,与NameNode对应的则是DataNode程序,负责执行数据读写操作以及执行NameNode的副本策略。在MapReduce运算层上,担任Master节点的服务器负责分配运算任务,Master节点上的JobTracker程序会将Map和 Reduce程序的执行工作指派给Worker服务器上的TaskTracker程序,由TaskTracker负责执行Map和Reduce工作,并将 运算结果回复给Master节点上的JobTracker。在HDFS数据层上,NameNode负责管理和维护HDFS的名称空间、并且控制档案的任何读写动作,同时NameNode会将要处理的数据切割 成一个个档案区块(Block),每个区块是64MB,例如1GB的数据就会切割成16个档案区块。NameNode还会决定每一份档案区块要建立多少个 副本,一般来说,一个档案区块总共会复制成3份,并且会分散储存到3个不同Worker服务器的DataNode程序中管理,只要其中任何一份档案区块遗 失或损坏,NameNode会自动寻找位于其他DataNode上的副本来回复,维持3份的副本策略。在一套Hadoop集群中,分配MapReduce任务的JobTracker只有1个,而TaskTracker可以有很多个。同样地,负责管理 HDFS文件系统的NameNode也只有一个,和JobTracker同样位于Master

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档