欢迎来到天天文库
浏览记录
ID:38683649
大小:2.15 MB
页数:32页
时间:2019-06-17
《《分布式开发框架》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Hadoop---------------分布式开发框架目录数据纽约证券交易所每天产生1TB的交易数据社交网站facebook的主机存储着约10亿张照片,占据PB级存储空间互联网档案馆存储着约2PB数据,并以每月至少20TB的速度增长。瑞士日内瓦附近的大型强子对撞机每年产生约15PB的数据。这样的数据该怎么存储和读取?传统关系型数据库(oracle)的成本Facebook的服务器大概1万台,按照oracle的标准10g版本计算大约需要21亿元Hadoop简介Hadoop一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底
2、层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式计算(MapReduce)组成。Hadoop程序目前只能运行在Linux系统上,window上运行需要安装其他插件,安装过程见《hadoop安装说明.docx》。Hadoop优点可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济:框架可以运行在任何普通的PC上。可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数,快照
3、(目前还没实现))高效:分布式文件系统的高效数据交互实现以及MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备。Hadoop基本架构Hadoop基本架构在Hadoop的系统中,会有一台Master,主要负责NameNode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台Slave,每一台Slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本地数据执行Map任务以及Redu
4、ce任务。名称节点(NameNode):管理文件系统的命名空间,记录文件系统树及这个树内所有的文件和索引目录,同时也记录每个文件的每个块,所在的数据节点。数据节点(DataNode):文件系统的工作者,存储并提供定位块的服务,并定时向名称节点发送块的存储列表JobTracker:协调作业的运行。TaskTracker:运行作业划分后的任务。HDFSHDFS适应条件超大文件指的是几百MB,几百GB,几百TB,甚至几百PB流式数据访问HDFS建立的思想是:一次写入、多次读取模式是最高效的。商用硬件hadoop不需要运行在昂贵并且高可靠的硬件上。H
5、DFS:为以流式数据访问模式存储超大文件而设计的文件系统。HDFS不适应条件低延迟数据访问HDFS是为了达到高数据吞吐量而优化的,这是以延迟为代价的,对于低延迟访问,可以用Hbase(hadoop的子项目)。大量的小文件多用户写入,任意修改HDFS的基本单元储存基本单元Block(块):HDFS基本储存单元,是个逻辑单元,和os中的页类似。一个文件有可能包含多个块,一个块有可以包含多个文件,由文件的大小和块大小的参数决定。dfs.block.size参数。Hdfs中Block的大小,默认64MB,如果设置大,就会有可能导致Map运行慢,设置小
6、,有可能导致Map个数多,所有一定要设置适当。(目前主流机器建议设置为128M)Hdfs集群框架图Hdfs集群框架图文件写入:Client向NameNode发起文件写入的请求。NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。文件读取:Client向NameNode发起文件读取的请求。NameNode返回文件存储的DataNode的信息。Client读取文件信息。Hdfs集群框架Na
7、meNode记录着每个文件的元数据。每个文件在那个块中,每个数据节点包含哪些块。(不储存原始文件)DataNode是文件的工作者,它们存储文件并提供定位块的服务,并且定时向名称节点发送它们的存储块的列表。(储存原始文件)3.重要参数dfs.replication.min参数。最小为1,表示每个块在HDFS中的副本个数。Hdfs文件读取图Hdfs文件写入图HDFS的几个设计特点Block的放置:默认不配置。一个Block会有三份备份,一份放在NameNode指定的DataNode,另一份放在与指定DataNode非同一Rack上的DataNod
8、e,最后一份放在与指定DataNode同一Rack上的DataNode上。备份无非就是为了数据安全,考虑同一Rack的失败情况以及不同Rack之间数据拷贝性能问题就
此文档下载收益归作者所有