您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > C3. Hadoop体系架构
海量数据处理中的云计算北京邮电大学信息与通信工程学院2014年春季学期C3.Hadoop体系架构上节问题问题:–对Google的三大核心技术任意一个的最重要技术特点进行研究要求:–详细讲解该特点,并说明为什么是最重要的第2页本节目录Hadoop发展历程基于Hadoop的海量数据处理架构Hadoop技术组件介绍Hadoop实战第3页Hadoop的由来当老二干不过老大时,怎么办?免费+开源vs.vs.Hadoop的由来DougCutting+Google论文+Yahoo!支持第5页DougCuttingNutch,Lucene创始人Hadoop创始人2002挣扎在如何使Nutch满足Web-Scale要求2003发表GFS论文2005参考MapReduce论文,实现并移植Nutch2004参考GFS论文,在Nutch中实现NDFS加入Yahoo!并扩充,建立Hadoop项目2006Hadoop成为Apache顶级项目2008发表MapReduce论文2004发表BigTable、Chubby论文2006Hadoop发展历程第6页Hadoop技术族第7页Common整体架构提供基础支撑性功能,主要包括了文件系统、RPC和数据串行化库HDFS构建于廉价计算机集群之上的分布式文件系统,低成本、高可靠性、高吞吐量MapReduce分布式编程模型和软件框架,用于在集群上编写对海量数据处理的并行化程序HBase分布式的、面向列的数据库,是一个适合于非结构化海量数据存储的数据库Hive数据仓库工具,将结构化数据文件映射为库表,并提供强大的类SQL查询功能Pig适合海量数据分析的脚本语言工具,包括了一个数据分析语言和支持的运行环境HCatalog提供共享数据模版和数据类型的机制,并对数据表进行抽象以便于进行数据整合Sqoop在Hadoop与传统数据库间进行数据交换的工具,支持两者之间的数据导入和导出Chukwa分布式数据收集和分析工具集,用于显示、监控、分析大型分布式系统的运行数据Ambari安装、管理和监控Hadoop集群的Web界面工具。目前已支持大部分组件的管理ZooKeeper维护Hadoop集群的配置和命名信息,并提供分布式锁同步功能和群组管理功能基于Hadoop的海量数据处理框架平台管理层:确保整个数据处理平台平稳安全运行的保障,包括配置管理、运行监控、故障管理、性能优化、安全管理等在内的功能。数据分析层:提供一些高级的分析工具给数据分析人员,以提高他们的生产效率。编程模型层:为大规模数据处理提供一个抽象的并行计算编程模型,以及为此模型提供可实施的编程环境和运行环境。数据存储层:提供分布式、可扩展的大量数据表的存储和管理能力,强调的是在较低成本的条件下实现海量数据表的管理能力。文件存储层:利用分布式文件系统技术,将底层数量众多且分布在不同位置的通过网络连接的各种存储设备组织在一起,通过统一的接口向上层应用提供对象级文件访问服务能力。数据集成层:系统需要处理的数据来源,包括私有的应用数据、存放在数据库中的数据、被分析系统运行产生的日志数据等,这些数据具有结构多样、类型多变的特点。第8页Hadoop核心–HDFS与MapReduce第9页Hadoop核心–基础架构(HDFS+MR)第10页NameNode(NN)–管理者,命名空间,维护文件树及文件和目录的元数据–命名空间镜像文件、编辑日志文件、数据块与DN的对应SecondaryNN–NameNode备份–与NN定时通信–保存元数据快照–故障切换DataNode(DN)–与NameNode定时通信–保存元数据快照–故障切换JobClient–基于接口库编写的客户端程序–提交MR作业JobTracker–控制协调者–协调作业的执行–仅有一个TaskTracker–任务控制–一个或多个Map或Reduce任务–维持心跳MapTask,ReduceTask–具体执行Map和Reduce任务的程序Hadoop核心–运行机制①MapReduce程序启动作业②JobClient从JobTracker获得作业ID③JobClient将代码和配置存入HDFS④JobClient向JobTracker提交此作业⑤JobTracker将作业放入队列中等待调度⑥JobTracker从HDFS中取出代码和配置,并创建对应数量的Map任务和Reduce任务第11页⑦JobTracker将Map任务和Reduce任务分配到空闲的TaskTracker节点⑧TaskTracker从HDFS取出数据存入本地磁盘,并启动一个TaskRunner准备运行任务⑨TaskRunner在新Java虚拟机中创建出MapTask或ReduceTask进行运算,MapTask和ReduceTask会定时向TaskRunner报告进度,直到任务完成Hadoop数据存储–HBase第12页Hadoop数据存储–WhyHBase?来源:FayChang,JeffreyDean,et.al.,Bigtable:ADistributedStorageSystemforStructuredData,SeventhSymposiumonOperatingSystemDesignandImplementation,2006.WhyHBase?()–HDFSisadistributedfilesystemthatiswellsuitedforthestorageoflargefiles.It'sdocumentationstatesthatitisnot,however,ageneralpurposefilesystem,anddoesnotprovidefastindividualrecordlookupsinfiles.–HBase,ontheotherhand,isbuiltontopofHDFSandprovidesfastrecordlookups(andupdates)forlargetables.–Thiscansometimesbeapointofconceptualconfusion.HBaseinternallyputsyourdatainindexedStoreFilesthatexistonHDFSforhigh-speedlookups.第13页EXT2Hadoop数据存储–感受HBase第14页文件表Hadoop数据分析–Hive和Pig第15页Hadoop数据分析–Hive第16页来源:AshishThusoo,JoydeepSenSarma,etal.,Facebook,“Hive:AWarehousingSolutionoverAMap-ReduceFramework”,ProceedingsoftheVLDBEndowment,Aug.2009.WhyHive?()–HiveisadatawarehousesystemforHadoopthatfacilitateseasydatasummarization,ad-hocqueries,andtheanalysisoflargedatasetsstoredinHadoopcompatiblefilesystems.HiveprovidesamechanismtoprojectstructureontothisdataandquerythedatausingaSQL-likelanguagecalledHiveQL.–数据库vs.数据仓库:存取(面向事务)vs.分析(面向主题)Hadoop数据分析–感受Hive第17页SELECT*FROMlogWHEREdate2012-12-01DISTRIBUTEBYdateSORTBYdateASC,hostASC;代码SQLHadoop数据分析–Pig第18页来源:ChristopherOlston,BenjaminReed,UtkarshSrivastava,etal.,Yahoo!,PigLatin:ANot-so-foreignLanguageforDataProcessing,ACMSIGMOD,2008.WhyPig?()–ApachePigisaplatformforanalyzinglargedatasetsthatconsistsofahigh-levellanguageforexpressingdataanalysisprograms,coupledwithinfrastructureforevaluatingtheseprograms.–Pig'slanguagelayercurrentlyconsistsofatextuallanguagecalledPigLatin.–Pigvs.Hive:数据准备vs.数据呈现Hadoop数据分析–感受Pig及对比Hive第19页good_urls=FILTERurlsBYpagerank0.2;groups=GROUPgood_urlsBYcategory;big_groups=FILTERgroupsBYCOUNT(good_urls)106;output=FOREACHbig_groupsGENERATEcategory,AVG(good_urls.pagerank);HivePigSELECTcategory,AVG(pagerank)FROMurlsWHEREpagerank0.2GROUPBYcategoryHAVINGCOUNT(*)106Hadoop数据集成第20页Hadoop数据集成–HCatalog第21页来源:Hortonworks,2010年3月提出,2011年5月发布。WhyHCatalog?()–ApacheHCatalogisatableandstoragemanagementservicefordatacreatedusingApacheHadoop.Providingasharedschemaanddatatypemechanism.Providingatableabstractionsothatusersneednotbeconcernedwithwhereorhowtheirdataisstored.ProvidinginteroperabilityacrossdataprocessingtoolssuchasPig,MapReduce,andHive.Hadoop数据集成–Sqoop第22页来源:AaronKimball为Hadoop开发的一个小模块(2009年),并由Cloudera支持成为Apache开源项目。WhySqoop?()–ApacheSqoopisatooldesignedforefficientlytransferringbulkdatabetweenApacheHadoopandstructureddatastoressuchasrelationaldatabases.Hadoop数据集成–Chukwa第23页来源:由Yahoo!2008年提供的模块扩展出的Apache项目。WhyChukwa?()–Chukwaisanopensourcedatacollectionsystemformonitoringlargedistributedsystems.Hadoop在产业界第24页使用贡献Hadoop在学术界第25页Hadoop实战“知行合一”第26页单机Hadoop运行与开发环境第27页Windows操作系统VMwareLi
本文标题:C3. Hadoop体系架构
链接地址:https://www.777doc.com/doc-3220277 .html