13.hadoop学习教材.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
---------------分布式开发框架;;纽约证券交易所每天产生1TB的交易数据 社交网站facebook的主机存储着约10亿张照片,占据PB级存储空间 互联网档案馆存储着约2PB数据,并以每月至少20TB的速度增长。 瑞士日内瓦附近的大型强子对撞机每年产生约15PB的数据。 这样的数据该怎么存储和读取?; Facebook的服务器大概1万台,按照oracle的标准10g版本计算大约需要21亿元;Hadoop 一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储 。 Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式计算(MapReduce)组成 。 Hadoop程序目前只能运行在Linux系统上,window上运行需要安装其他插件,安装过程见《hadoop安装说明.docx》 。 ;可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。 经济:框架可以运行在任何普通的PC上。 可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数,快照(目前还没实现)) 高效:分布式文件系统的高效数据交互实现以及MapReduce结合Local Data处理的模式,为高效处理海量的信息作了基础准备。 ;;在Hadoop的系统中,会有一台Master,主要负责NameNode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台Slave,每一台Slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本地数据执行Map任务以及Reduce任务。;;超大文件 指的是几百MB,几百GB,几百TB,甚至几百PB 流式数据访问 HDFS建立的思想是:一次写入、多次读取模式是最高 效的。 商用硬件 hadoop不需要运行在昂贵并且高可靠的硬件上。;低延迟数据访问 HDFS是为了达到高数据吞吐量而优化的,这是以延迟为代价的,对于低延迟访问,可以用Hbase(hadoop的子项目)。 大量的小文件 多用户写入,任意修改 ;储存基本单元 Block(块):HDFS基本储存单元,是个逻辑单元,和os中的页类似。 一个文件有可能包含多个块,一个块有可以包含多个文件,由文件的大小和块大小的参数决定。 dfs.block.size参数。Hdfs中Block的大小,默认64MB, 如果设置大,就会有可能导致Map运行慢,设置小,有可能导致Map个数多,所有一定要设置适当。(目前主流机器建议设置为128M) ;Hdfs集群框架图;NameNode记录着每个文件的元数据。每个文件在那个块中,每个数据节点包含哪些块。(不储存原始文件) DataNode是文件的工作者,它们存储文件并提供定位块的服务,并且定时向名称节点发送它们的存储块的列表。 (储存原始文件) 3. 重要参数 dfs.replication.min参数。最小为1,表示每个块在HDFS中的副本个数。;Block的放置:默认不配置。一个Block会有三份备份,一份放在NameNode指定的DataNode,另一份放在与指定DataNode非同一Rack上的DataNode,最后一份放在与指定DataNode同一Rack上的DataNode上。备份无非就是为了数据安全,考虑同一Rack的失败情况以及不同Rack之间数据拷贝性能问题就采用这种配置方式。 心跳检测DataNode的健康状况,如果发现问题就采取数据备份的方式来保证数据的安全性。 数据复制(场景为DataNode失败、需要平衡DataNode的存储利用率和需要平衡DataNode数据交互压力等情况):这里先说一下,使用HDFS的balancer命令,可以配置一个Threshold来平衡每一个DataNode磁盘利用率。例如设置了Threshold为10%,那么执行balancer命令的时候,首先统计所有DataNode的磁盘利用率的均值,然后判断如果某一个DataNode的磁盘利用率超过这个均值Threshold以上,那么将会把这个DataNode的block转移到磁盘利用率低的DataNode,这对于新节点的加入来说十分有用。;数据交验:采用CRC32作数据交验。在文件Block写入的时候除了写入数

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档