您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > hadoop概述及其发展简史
HadoopHadoop是什么一个分布式系统基础架构用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。为什么需要Hadoop•纽约证券交易所每天产生1TB的交易数据•社交网站facebook的主机存储着约10亿张照片,占据PB级存储空间•互联网档案馆存储着约2PB数据,并以每月至少20TB的速度增长。•瑞士日内瓦附近的大型强子对撞机每年产生约15PB的数据。为什么需要Hadoop如何存储和分析多年来硬件存储容量快速增加的同时,访问速度——数据从硬盘读取的速度——却未能与时俱进1990年1370MB4.4MB/s5min20年后1TB100MB/s150min为什么需要Hadoop从多个磁盘并行读写数据问题:A.硬件故障一旦开始使用多个硬件设施,其中一个会出故障的概率非常高通过系统保存数据的冗余副本,在故障发生时,可以使用副本HDFSB.合并大部分分析任务需要通过某种方式把数据合并起来不同的分布式系统可以组合多个来源的数据,但正确性的保证是一个挑战MapReduceHadoop提供了一个稳定的共享存储和分析系统。存储由HDFS实现,分析由MapReduce实现HDFSHDFS:为以流式数据访问模式存储超大文件而设计的文件系统。HDFS建立的思想是:一次写入、多次读取模式是最高效的。•HDFS是一个高度容错性的系统,适合部署在廉价的机器上。•HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用MapReduce•MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(化简),和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。•他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。相较于其他系统表1-1:关系型数据库和MapReduce的比较相较于其他系统由上表可看出:•MapReduce比较适合以批处理的方式处理需要分析整个数据集的问题,尤其是自主或即时分析。RDBMS适用于“点查询”和更新,数据集被索引后,数据库系统能够提供低延迟的数据检索和快速的少量数据更新。•MapReduce适合一次写入、多次读取数据的应用,而关系型数据库更适合持续更新的数据集。•关系型数据库中数据集是高度结构化的数据,而MapReduce中的数据是非结构化数据。•相信在不久的将来,关系型数据库系统和MapReduce系统之间的差异很可能变得模糊。关系型数据库都开始吸收MapReduce的一些思路,另一方面,基于MapReduce的高级查询语言使MapReduce的系统更接近传统的数据库编程方式。相较于其他系统•网格计算,即分布式计算,是高性能计算的一种•高性能计算的方法是将作业分配给一个机器集群,这些机器访问共享文件系统,由一个存储区域网络(SAN)进行管理•这非常适用于以主计算密集型为主的作业,但当节点需要访问的大数据量(数百GB的数据)时,这会成为一个问题,因为网络带宽成为“瓶颈”,所以计算节点闲置下来了相较于其他系统•MapReduce尝试在计算节点本地存储数据,因此数据访问速度会因为它是本地数据而比较快•“数据本地化”成为MapReduce的核心功能并且也是它拥有良好性能的原因之一•MapReduce将程序员从必须考虑失败任务的情况中解放出来,它检测失败的map或者reduce任务,在健康的机器上重新安排任务。•MapReduce能够做到这一点,因为它是一个无共享的架构,这意味着各个任务之间彼此并不依赖。相较于其他系统•志愿计算是指对人们(志愿者)为项目提供计算资源以进行分布式计算和\或贮存的协调和安排。MapReduce与SETI@home的区别Hadoop发展简史•Hadoop是ApacheLucene创始人DougCutting创建的•Hadoop起源于ApacheNutch,一个开源的网络搜索引擎,它本身也是Lucene项目的一部分Hadoop发展简史ApacheHadoop项目•MapReduce和HDFS最出名•还有其他项目提供配套服务
本文标题:hadoop概述及其发展简史
链接地址:https://www.777doc.com/doc-3393781 .html