基于Hadoop的大数据处理关键技术综述22

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2015.6.15基于Hadoop的大数据处理关键技术综述大数据背景介绍ContentHadoop定义、特点大数据对系统的需求、大数据和云计算的关系大数据市场分析大数据处理的技术关键12Hadoop原理、优点Hadoop体系架构Hadoop核心设计:MapReduce、HDFS大数据背景介绍1定义为了更为经济的从高频率获取的、大容量的、不同结构和类型的数据中获取价值,而设计的新一代架构和技术特点大数据对系统的需求大数据和云计算的关系•Highperformance–高并发读写的需求高并发、实时动态获取和更新数据•HugeStorage–海量数据的高效率存储和访问的需求类似SNS网站,海量用户信息的高效率实时存储和查询•HighScalability&&HighAvailability–高可扩展性和高可用性的需求需要拥有快速横向扩展能力、提供7*24小时不间断服务云计算改变了IT,而大数据则改变了业务云计算是大数据的IT基础,大数据须有云计算作为基础架构,才能高效运行通过大数据的业务需求,为云计算的落地找到了实际应用大数据市场分析2011年是中国大数据市场元年,一些大数据产品已经推出,部分行业也有大数据应用案例的产生。2012年-2016年,将迎来大数据市场的飞速发展。2012年中国大数据市场规模达到4.7亿元,2013年大数据市场将迎来增速为138.3%的飞跃,到2016年,整个市场规模逼近百亿。政府、互联网、电信、金融的大数据市场规模较大,四个行业将占据一半市场份额。由于各个行业都存在大数据应用需求,潜在市场空间非常可观。大数据处理的技术关键分析技术:数据处理:自然语言处理技术;统计和分析:地域占比,文本情感分析,A/Btest,topN排行榜;数据挖掘:建模,聚类,分类,排名;模型预测:预测模型,机器学习,建模仿真。存储技术:结构化数据:海量数据查询、统计、更新等操作效率低非结构化数据:图片、视频、word、pdf、ppt等文件存储,不利于检索,存储和查询半结构化数据:转换为结构化数据或者按照非结构化存储。大数据技术:数据采集:ETL工具;数据存取:关系数据库,NoSQL,NewSQL,等基础架构支持:云存储,分布式文件系统等;计算结果展现:云计算,标签云,关系图等。解决方案:Hadoop(MapReduce技术)、MongoDB、流计算(twitter的strom和yahoo!的S4)Hadoop大数据主要应用技术——Hadoop2Hadoop最先是由Apache公司在2005年引入的,起源于google开发的MapReduce和GoogleFileSystem(GFS)项目。Hadoop作为新一代的架构和技术,因为有利于并行分布处理“大数据”而备受重视。ApacheHadoop是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式计算(MapReduce)等组成。Hadoop原理Hadoop原理•假设系统每秒处理4000个文件处理4千万个文件=10000秒约为2.7小时处理4千万个文件处理400万个文件处理400万个文件处理400万个文件……切分成十台机器处理约为17分钟=约为17分钟=约为17分钟=结果合并输出优点可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济:框架可以运行在任何普通的PC上。可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。高效:分布式文件系统的高效数据交互实现以及MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备。不适合存储小文件(不建议)大量的随机读(不建议)对文件的修改(不支持)应用模式为:write-once-read-many存取模式Hadoop体系架构MapReduceHBasePigChuKwaHive•Pig是一个基于Hadoop的大规模数据分析平台,Pig为复杂的海量数据并行计算提供了一个简易的操作和编程接口•hive是基于Hadoop的一个工具,提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行•Chukwa是基于Hadoop的集群监控系统,由yahoo贡献•ZooKeeper:高效的,可扩展的协调系统,存储和协调关键共享状态•HBase是一个开源的,基于列存储模型的分布式数据库•MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算•HDFS是一个分布式文件系统。有着高容错性的特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集的应用程序ZooKeeperMapReduceMap:任务的分解Reduce:结果的汇总两大核心设计HDFSNameNode:文件管理DataNode:文件存储Client:文件获取Hadoop核心设计MapReduce——映射、化简编程模型(分而治之)1.根据输入数据的大小和参数的设置把数据分成splits,每个split对于一个map线程。2.Split中的数据作为Map的输入,Map的输出一定在Map端。3.Map的输出到Reduce的输入的过程(shuffle过程):第一阶段:在map端完成内存-排序-写入磁盘-复制第二阶段:在reduce端完成映射到reduce端分区-合并-排序4.Reduce的输入到Reduce的输出最后排好序的key/value作为Reduce的输入MapReduce是一种编程模型,用于大规模数据集的并行运算。Map(映射)和Reduce(化简),采用分而治之思想,先把任务分发到集群多个节点上,并行计算,然后再把计算结果合并,从而得到最终计算结果。多节点计算,所涉及的任务调度、负载均衡、容错处理等,都由MapReduce框架完成,不需要编程人员关心这些内容。HDFS——分布式文件系统什么是分布式文件系统?分布式文件系统是指文件系统管理的物理存储资源不一定直接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统设计基于客户机/服务器模式,一个典型的网络可能包括多个供用户访问的服务器。用户可以在任意一台客户机上访问其他机器的文件系统。为什么需要分布式文件系统?高扩展能力:HDFS采用元数据中心化管理,然后通过客户端暂存数据分布减小元数据的访问压力;高可用性:一是整个文件系统的可用性,二是数据的完整和一致性。数据完整性通过文件的镜像和文件自动修复来解决;弹性存储:可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行;HDFS——分布式文件系统•NameNode可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。•DataNode是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。•Client就是需要获取分布式文件系统文件的应用程序。HDFS是一个高度容错性的分布式文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS的高可用性NameNode挂了怎么办?系统采用双NameNode节点分布管理设计方案,支持分布式的元数据服务器,支持元数据自动日志功能,实现用户数据和元数据的备份和自动恢复,当一台服务器发生宕机时,其管理功能可以有另外的服务器接管,系统可以正常运行,对外提供服务。NameNodeNameNode是用来管理文件系统命名空间的组件一个HDFS集群只有一台active的NameNode一个HDFS集群只有一个命名空间,一个根目录NameNode上存放了HDFS的元数据元数据保存在NameNode的内存当中,以便快速查询1G内存大致可以存放1,000,000个块对应的元数据信息按缺省每块64M计算,大致对应64T实际数据Datanode•一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。•DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。•心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。增加DataNode节点后?系统平台增加新节点之后,系统自动在所有节点之间均衡数据。系统后台根据忙闲程度,自动发起,占用很少系统资源,无需人工干预,实现数据均衡分布。HDFS具体操作文件写入:1.Client向NameNode发起文件写入的请求2.NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。3.Client将文件划分为多个文件块,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。文件读取:1.Client向NameNode发起文件读取的请求2.NameNode返回文件存储的DataNode的信息。3.Client读取文件信息。Client1Client2DataNode节点NameNode1NameNode2NFS服务器正常运行状态单点失效状态HBASE——分布式数据存储HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统;HBase位于结构化存储层,HDFS为HBase提供了高可靠性的底层存储支持,MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制;Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的简单。凡是过去,皆为序曲

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功