您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > Hadoop2.0介绍
ApacheHadoop2.0下一代数据处理框架介绍主要内容•Hadoop1.0的局限性•Hadoop2.0新特性介绍•Hadoop现状及最新进展Hadoop1.0的局限-HDFS※资源隔离※元数据扩展性※访问效率※数据丢失Hadoop1.0的局限-MapReduce•扩展性–集群最大节点数–4000–最大并发任务数–40000•可用性–JobTracker负载较重–存在单点故障,一旦故障,所有执行的任务的全部失败•批处理模式,时效性低–仅仅使用MapReduce一种计算方式•低效的资源管理–把资源强制划分为maptaskslot和reducetaskslot,当系统中只有maptask或者只有reducetask的时候,会造成资源的浪费当map-reducejob非常多的时候,会造成很大的内存开销,潜在来说,也增加了JobTrackerfail的风险,这也是业界普遍总结出老Hadoop的Map-Reduce只能支持4000节点主机的上限。Next-GenDataProccessPlatform-Hadoop2.0介绍SingleUseSystemBatchAppsMultiPurposePlatformBatch,Interactive,Online,Streaming,…Hadoop2.0新特性:–由HDFS、MapReduce和YARN三个分支构成–HDFS:支持NNFederation、HA–MapReduce:运行在YARN上的MR,编程模型不变–YARN:资源管理系统–…Hadoop1.0HDFS(redundant,reliablestorage)MapReduce(v1)(clusterresourcemanagement&dataprocessing)HDFS2(redundant,reliablestorage)YARN(clusterresourcemanagement)MapReduce(v2)(dataprocessing)Others(dataprocessing)Hadoop2.0Hadoop2.0新特性:YARN-产生背景•直接源于MRv1在几个方面的无能–扩展性差,JobTracker成为瓶颈–可靠性差,NameNode单点故障–扩展性差,难以支持MR之外的计算–资源利用率低•多计算框架各自为战,数据共享困难–MR:离线计算框架–Storm:实时计算框架–Spark:内存计算框架Hadoop2.0新特性:YARN-架构及组件•ResourceManager–处理客户端请求–启动/监控ApplicationMaster–监控NodeManager–资源分配与调度•NodeManager–单个节点上的资源管理–处理来自ResourceManager的命令–处理来自ApplicationMaster的命令•ApplicationMaster–数据切分–为应用程序申请资源,并分配给内部任务–任务监控与容错YARN是Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。Hadoop2.0新特性:YARN-架构及组件Hadoop2.0新特性:YARN-MRv2作业处理流程Hadoop2.0新特性:YARN-MRv2作业处理流程步骤1用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。步骤2ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。步骤3ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。步骤4ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。步骤5一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。步骤6NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。步骤7各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。步骤8应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。Hadoop2.0新特性:YARN-1.0资源调度•Hadoop1.0采用了静态资源设置策略,即每个节点实现配置好可用的slot总数,这些slot数目一旦启动后无法再动态修改•Hadoop1.0将slot分为Mapslot和Reduceslot两种,不允许共享,同时其它应用也无法共享资源•没引入有效的资源隔离机制,采用了基于jvm的资源隔离机制,过于粗糙,很多资源,比如CPU,无法进行隔离核心概念:Slot,只能实现资源的静态管理和分配Hadoop2.0新特性:YARN的资源调度模型核心概念:Container,实现资源动态管理和分配Hadoop2.0新特性:YARN的资源调度特点•支持CPU和内存两种资源调度方式,允许配置每个节点、每个任务可用的CPU和内存资源总量•可以根据实际需要和CPU性能将每个物理CPU划分成若干个虚拟CPU。管理员可为每个节点单独配置可用的虚拟CPU个数,用户程序也可指定每个任务需要的虚拟CPU个数•可为每个节点单独配置可用内存,采用线程监控的方案控制内存使用,发现任务超过约定的资源量会将其杀死•Mesos等资源管理软件15.//Priorityforworkercontainers-prioritiesareintra-application16.Prioritypriority=Records.newRecord(Priority.class);17.priority.setPriority(0);18.19.//Resourcerequirementsforworkercontainers20.Resourcecapability=Records.newRecord(Resource.class);21.capability.setMemory(128);22.capability.setVirtualCores(1);23.24.//MakecontainerrequeststoResourceManager25.for(inti=0;in;++i){26.ContainerRequestcontainerAsk=newContainerRequest(capability,null,null,priority);27.rmClient.addContainerRequest(containerAsk);28.}SetuprequirementsforworkercontainersMakeresourcerequeststoResourceManagerHadoop2.0新特性:YARN上运行的软件ApplicationsRunNativelyInHadoopHDFS2(Redundant,ReliableStorage)YARN(ClusterResourceManagement)Batch(MapReduce)InterActive(Tez)Streaming(Storm,S4,…)Graph(Giraph)IN-Memory(Spark)HPCMPI(OpenMPI)OnLine(HBase)Other(Search)(Weave…)运行在YARN上带来的好处:–一个集群部署多个版本–计算资源按需伸缩–不同负载应用混搭,集群利用率高–共享底层存储,避免数据跨集群迁移Hadoop2.0新特性:NameNodeHAHadoop1.0HA实现方式及缺陷:–SecondaryNameNode:阶段性合并edits和fsimage以缩短集群启动时间,不是HA,无法立刻接管失效的NN及保证数据完整性–BackupNameNode(HADOOP-4539):它在内存中复制了NN的当前状态,算是WarmStandby,但无法保证数据完整性–手动把name.dir指向NFS:这是安全的ColdStandby,可以保证元数据不丢失,但集群的恢复则完全靠手动–FacebookAvatarNode:HotStandby,无法自动切换,需要管理员手动把对外提供服务的虚拟IP映射到StandbyNN–其它依赖外部的HA机制,譬如DRBD,LinuxHA,VMware的FT等等Hadoop2.0新特性:NameNodeHAHadoop2.0HA实现方式:Others:QJM:HDFSHAusingtheQuorumJournalManagertoshareeditlogsbetweentheActiveandStandbyNameNodes,BookKeeper…Hadoop2.0新特性:NameNodeHA•利用共享存储在两个NN间同步edits信息,如NFS等中高端存储设备内部的各种RAID以及冗余硬件•DataNode同时向两个NN汇报块信息,让StandbyNN保持集群最新状态•用FailoverControllerwatchdog进程监视和控制NN进程,防止因NNFullGC挂起无法发送heartbeat•防止脑裂(brain-split):主备切换时由于切换不彻底等原因导致Slave误以为出现两个activemaster,通常采用Fencing机制:-共享存储fencing,确保只有一个NN可以写入edits-客户端fencing,确保只有一个NN可以响应客户端的请求-DNfencing,确保只有一个NN可以向DN下发删除等命令Hadoop2.0HA实现方式说明:Hadoop2.0新特性:NameNodeFederationHadoop1.0版本容量及性能缺陷:–单NameNode容量限制:按常规的估算公式1百万个块需要1G内存,1亿个文件NameNode进程可能需要上百G内存保存元数据信息,受制于Java内存管理能力限制,上百G内存保基本上达到上限–单NameNode性能限制:所有的元数据信息的读取和操作都需要与NameNode进行通信,如客户端的addBlock、getBlockLocations,DataNode的blockRecieved、blockReport等操作,在集群规模变大后,NameNode会成为性能瓶颈Federation由多个NameService组成,每个NameService又由一个或两个(HA)NN组成每个NameNode会定义一个存储池,单独对外提供服务,多个NameNode共用集群里DataNode上的存储资源使用客户端挂载表把不同的目录映射到不同的NameNode上,通过目录自动对应NameNode,使Federation的配置改动对应用透明Hadoop2.0新特性:NameNodeFederationHadoop2.0Federation实现方式Hadoop2.0新特性:HDFSSnapshots快照是整个文件系统或文件系统的一个子树在一个时间点的实时映像,创建速度快、开销小,在一些场景快照具有非常重要的用途:–防止用户错误操作:以滚动的方式建立只读定期快照,如果用户不小心删除文件,该文件可以从最新的RO快照中恢复–数据备份:在某一时间点创建只读快照作为备份,并且可以以此时间点实现增量数据处理–实验/测试设置:快照数据可以
本文标题:Hadoop2.0介绍
链接地址:https://www.777doc.com/doc-5675281 .html