Hadoop介绍基础篇

上传人:沈*** 文档编号:150856390 上传时间:2022-09-11 格式:PPT 页数:23 大小:497.51KB
收藏 版权申诉 举报 下载
Hadoop介绍基础篇_第1页
第1页 / 共23页
Hadoop介绍基础篇_第2页
第2页 / 共23页
Hadoop介绍基础篇_第3页
第3页 / 共23页
资源描述:

《Hadoop介绍基础篇》由会员分享,可在线阅读,更多相关《Hadoop介绍基础篇(23页珍藏版)》请在装配图网上搜索。

1、分布式运算平台-Hadoop-基础篇马云龙1:大规模数据处理的问题2:Hadoop的由来3:Hadoop需要解决的问题4:Hadoop介绍5:HDFS介绍6:MapReduce介绍7:Hadoop大事记8:Hadoop在国内外的应用9:Hadoop总结目录1:大规模数据处理的问题1990年,一个普通的硬盘驱动器可存储1370 MB的数据并拥有4.4 MB/s的传输速度,所以,只需五分钟的时间就可以读取整个磁盘的数据。20年过去了,1 TB级别的磁盘驱动器是很正常的,但是数据传输的速度却在100 MB/s左右。所以它需要花两个半小时以上的时间读取整个驱动器的数据。从一个驱动器上读取所有的数据需要

2、很长的时间,写甚至更慢。如何解决?如何解决?一个很简单的减少读取时间的办法是同时从多个磁盘上读取数据。试想一下,我们拥有100个磁盘,每个存储百分之一的数据。如果它们并行并行运行,那么不到两分钟我们就可以读完所有的数据。2:Hadoop的由来谈到Hadoop就不得不提到Lucene和Nutch。首先,Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,它可以方便的嵌入到各种实际应用中实现全文搜索/索引功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎应用,Lucene 为nutch提供了文本搜索和索引的API。Nutch不光有搜索的功能,还

3、有数据抓取的功能。在nutch0.8.0版本之前,Hadoop还属于 Nutch的一部分,而从nutch0.8.0开始,将其中实现的NDFS和MapReduce剥离出来成立一个新的开源项目,这就是Hadoop。而 nutch0.8.0版本较之以前的Nutch在架构上有了根本性的变化,那就是完全构建在Hadoop的基础之上了。在Hadoop中实现了 Google的GFS和MapReduce算法,使Hadoop成为了一个分布式的计算平台。3:Hadoop需要解决的问题第一个需要解决的问题是硬件故障硬件故障。一旦开始使用多个硬件设施,其中一个会出故障的概率是非常高的。避免数据丢失的常见做法是复制;通

4、过系统保存数据的冗余副本,在故障发生时,可以使用数据的另一份副本。这就是冗余磁盘阵列的工作方式。Hadoop的文件系统HDFS(Hadoop Distributed Filesystem)就是一个例子.第二个问题是大部分分析任务需要通过某种方式把数据合并起来把数据合并起来,即从一个磁盘读取的数据可能需要和另外99个磁盘中读取的数据合并起来才能使用。各种不同的分布式系统能够组合多个来源的数据,但是如何保证正确性是一个非常难的挑战。MapReduce提供了一个编程模型,其抽象出上述磁盘读写的问题,将其转换为计算一个由成对键/值组成的数据集。这个计算由两部分组成:Map和 Reduce。这两者的接口

5、就是整合之地。就像HDFS一样,MapReduce是内建可靠性这个功能的。简而言之,Hadoop提供了一个稳定的共享存储和分析系统。存储由HDFS实现,分析由MapReduce实现。当然Hadoop还有其他功能,但这些功能是它的核心所在。4:Hadoop介绍-HDFSHDFS即Hadoop Distributed File System(Hadoop分布式文件系统)HDFS 具有高容错性,并且可以被部署在低价的硬件设备之上。HDFS很适合那些有大数据集的应用,并且提供了对数据读写的高吞吐率。HDFS是一个 master/slave的结构,就通常的部署来说,在master上只运行一个Nameno

6、de,而在每一个slave上运行一个Datanode。HDFS 支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenode来控制。4:Hadoop介绍-MapReduceMapReduce是Google 的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但在现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就

7、是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。MapReduce的名字源于这个模型中的两项核心操作:Map和 Reduce。也许熟悉Functional Programming(函数式编程)的人见到这两个词会倍感亲切。Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个函数来指定,比如对1,2,3,4进行乘2的映射就变成了2,4,6,8。Reduce是对一组数据进行归约,这个归约的规则由一个函数指定,比如对1,2,3,4进行求和的归约得到结果是10,而对它进行求积的归约结果是24。5:HDFS介绍-写入文件5:HDFS介绍-读取文件5:H

8、DFS介绍-适用场景HDFS是为以流式数据访问模式存储超大文件而设计的文件系统,在商用硬件的集群上运行。超大文件超大文件:超大文件在这里指几百MB,几百GB甚至几百TB大小的文件。目前已经有Hadoop集群存储PB(petabytes)级的数据了。流式数据访问流式数据访问:HDFS建立在这样一个思想上:一次写入、多次读取模式是最高效的。一个数据集通常由数据源生成或复制,接着在此基础上进行各种各样的分析。每个分析至少都会涉及数据集中的大部分数据(甚至全部),因此读取整个数据集的时间比读取第一条记录的延迟更为重要。商用硬件商用硬件:Hadoop不需要运行在昂贵并且高可靠性的硬件上。它被设计运行在商

9、用硬件(在各种零售店都能买到的普通硬件)的集群上,因此至少对于大的集群来说,节点故障的几率还是较高的。HDFS在面对这种故障时,被设计为能够继续运行而让用户察觉不到明显的中断。5:HDFS介绍-不适合的场景HDFS不适合下面的场景:低延迟数据访问低延迟数据访问 需要低延迟访问数据在毫秒范围内的应用并不适合HDFS。HDFS是为达到高数据吞吐量而优化的,这有可能会以延迟为代价。目前,对于低延迟访问,HBase是更好的选择。大量的小文件大量的小文件 名称节点(namenode)存储着文件系统的元数据,因此文件数量的限制也由名称节点的内存量决定。根据经验,每个文件,索引目录以及块占大约 150个字节

10、。因此,举例来说,如果有一百万个文件,每个文件占一个块,就至少需要300 Mb的内存。虽然存储上百万的文件是可行的,十亿或更多的文件就超出目前硬件的能力了。多用户写入,任意修改文件多用户写入,任意修改文件 HDFS中的文件只有一个写入者,而且写操作总是在文件的末尾。它不支持多个写入者,或是在文件的任意位置修改。(可能在以后这些会被支持,但它们也相对不那么高效。)5:HDFS介绍-操作接口命令行操作接口:%hadoop fs-copyFromLocal input/docs/quangle.txt hdfs:/localhost/user/tom/quangle.txt%hadoop fs-co

11、pyToLocal quangle.txt quangle.copy.txt%md5sum input/docs/quangle.txt quangle.copy.txt%hadoop fs-mkdir books%hadoop fs-ls.java操作接口:Hadoop是用Java编写的,所有Hadoop文件系统间的相互作用都是由Java API调解的。所以其他非Java应用访问Hadoop文件系统会比较麻烦。代理操作接口:Thrift API通过将Hadoop文件系统展示为一个Apache Thrift服务来弥补这个不足,使得任何有Thrift绑定的语言都能轻松地与Hadoop文件系统互动

12、,如HDFS。Thrift API包含很多其他语言的预生成stub,包含C+,Perl,PHP,Python及Ruby。6:MapReduce介绍为什么我们不能使用数据库加上更多磁盘来做大规模的批量分析?为什么我们需要MapReduce?这个问题的答案来自于磁盘驱动器的另一个发展趋势:寻址时间的提高速度远远慢于传输速率的提高速度。寻址就是将磁头移动到特定位置进行读写操作的工序。它的特点是磁盘操作有延迟,而传输速率对应于磁盘的带宽。关系型数据库和MapReduce的比较:6:MapReduce介绍网格计算与MapReduce比较:高性能计算(High Performance Computing,

13、HPC)和网格计算社区多年来一直在做大规模数据处理,它们使用的是消息传递接口(Message Passing Interface,MPI)这样的API。从广义上讲,高性能计算的方法是将作业分配给一个机器集群,这些机器访问共享文件系统,由一个存储区域网络(Storage Area Network,SAN)进行管理。这非常适用于以计算密集型为主的作业,但当节点需要访问的大数据量(数百GB的数据,这是MapReduce实际开始发光的起点)时,这会成为一个问题,因为网络带宽成为瓶颈,所以计算节点闲置下来了。MapReduce尝试在计算节点本地本地存储数据,因此数据访问速度会因为它是本地数据而比较快。这

14、项数据本地化功能,成为MapReduce的核心功能并且也是它拥有良好性能的原因之一6:MapReduce介绍6:MapReduce介绍-单个Reduce6:MapReduce介绍-多个Reduce6:MapReduce介绍-无Reduce7:Hadoop大事记2004年-最初的版本(现在称为HDFS和MapReduce)由Doug Cutting和Mike Cafarella开始实施。2005年12月-Nutch移植到新的框架,Hadoop在20个节点上稳定运行。2006年1月-Doug Cutting加入雅虎。2006年2月-Apache Hadoop项目正式启动以支持MapReduce和H

15、DFS的独立发展。2006年2月-雅虎的网格计算团队采用Hadoop。2006年4月-标准排序(10 GB每个节点)在188个节点上运行47.9个小时。2006年5月-雅虎建立了一个300个节点的Hadoop研究集群。2006年5月-标准排序在500个节点上运行42个小时(硬件配置比4月的更好)。06年11月-研究集群增加到600个节点。7:Hadoop大事记06年12月-标准排序在20个节点上运行1.8个小时,100个节点3.3小时,500个节点5.2小时,900个节点7.8个小时。07年1月-研究集群到达900个节点。07年4月-研究集群达到两个1000个节点的集群。08年4月-赢得世界最

16、快1 TB数据排序在900个节点上用时209秒。08年10月-研究集群每天装载10 TB的数据。09年3月-17个集群总共24 000台机器。09年4月-赢得每分钟排序,59秒内排序500 GB(在1400个节点上)和173分钟内排序100 TB数据(在3400个节点上)。8:Hadoop在国内外的应用Hadoop在国内外的应用:HADOOP在阿里巴巴:用于处理商业数据的排序,并将其应用于阿里巴巴的ISEARCH搜索引擎,垂直商业搜索引擎。节点数:15台机器的构成的服务器集群服务器配置:8核CPU,16G内存,1.4T硬盘容量。HADOOP在百度:HADOOP主要应用日志分析,同时使用它做一些

17、网页数据库的数据挖掘工作。节点数:10-500个节点。周数据量:3000TB HADOOP在Facebook:主要用于存储内部日志的拷贝,作为一个源用于处理数据挖掘和日志统计。主要使用了2个集群:一个由1100台节点组成的集群,包括8800核CPU(即每台机器8核),和12000TB的原始存储(即每台机器12T硬盘)一个有300台节点组成的集群,包括2400核CPU(即每台机器8核),和3000TB的原始存储(即每台机器12T硬盘)由此基础上开发了基于SQL语法的项目:HIVE8:Hadoop在国内外的应用HADOOP在HULU主要用于日志存储和分析13台机器构成的集群(8核PUC,单台机器:4TB硬盘)基于HBASE数据库 HADOOP在TWITTER使用HADOOP用于存储微博数据,日志文件和许多中间数据使用基于HADOOP构件的Clouderas CDH2系统,存储压缩后的数据文件(LZO格式)HADOOP在雅虎:主要用于支持广告系统及网页搜索机器数:25000,CPU:8核集群机器数:4000 个节点 (2*4cpu boxes w 4*1TB disk&16GB RAM)9:Hadoop总结Hadoop适用场景:日志分析,数据挖掘,大规模数据运算算法再好,通常也难敌更多的数据。Concurrency Programing!=Prallel Programing

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!