收藏 分销(赏)

Hadoop基本概念与架构.pptx

上传人:w****g 文档编号:10208682 上传时间:2025-04-27 格式:PPTX 页数:56 大小:1.60MB
下载 相关 举报
Hadoop基本概念与架构.pptx_第1页
第1页 / 共56页
Hadoop基本概念与架构.pptx_第2页
第2页 / 共56页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,Hadoop,基本,概念,与,架构,dongxicheng.org,主要内容,背景介绍,1,Hadoop,内核介绍,2,Hadoop,生态系统介绍,3,总结,4,主要内容,背景介绍,1,Hadoop,内核介绍,2,Hadoop,生态系统介绍,3,总结,4,背景介绍,Hadoop,是一整套大数据存储和处理方案,数据收集,数据存储(离线存储,在线存储),数据分析与挖掘,Hadoop,是一个生态系统,每个,系统解决一类问题,系统,间相互配合,Hadoop,生态系统特点,源代码,开源(免费),社区活跃、参与者众多,涉及分布式存储和计算的方方面面,已得到企业界,验证,Hadoop,发行,版本(以开源版本为主),Apache Hadoop,(,hadoop.apache.org/,),最原始版本,所有其他发行版均基于该发行版实现的,包含,1.0,和,2.0,两个系列,HDP,(,hadoop 1.0,系列,CDH4/CDH5,:对应,apache hadoop,2.0,系列,不同发行版兼容性,架构、部署和使用方法一致,不同之处仅在若干内部实现。,主要内容,背景介绍,1,Hadoop,内核介绍,2,Hadoop,生态系统介绍,3,总结,4,Hadoop,内核基本构成,分布式存储系统,HDFS,(,Hadoop Distributed File System,),高可靠性,高,扩展性,高,吞吐率,资源管理系统,YARN,(,Yet Another Resource Negotiator,),负责集群资源的统一管理和调度,分布式计算框架,MapReduce,易于编程,高容错性,高,扩展性,Hadoop,内核基本构成,HDFS,是什么,源自于,Google,的,GFS,论文,发表于,2003,年,10,月,HDFS,是,GFS,克隆版,Hadoop Distributed File System,易于扩展的分布式文件系统,运行在大量普通廉价机器上,提供容错机制,为大量用户提供性能不错的文件存取服务,HDFS,优点,高容错性,数据自动保存多个副本,副本丢失后,自动恢复,适合批处理,移动计算而非数据,数据位置暴露给计算框架,适合大数据处理,GB,、,TB,、甚至,PB,级数据,百万规模以上的文件数量,10K+,节点,规模,HDFS,优点,流式,文件访问,一次性写入,多次读取,保证数据一致性,可构建在廉价机器上,通过多副本提高可靠性,提供了容错和恢复,机制,HDFS,缺点,低延迟数据访问,比如毫秒级,低延迟与高吞吐率,小文件存取,占用,NameNode,大量内存,寻道时间超过读取时间,并发写入、文件随机修改,一个文件只能有一个写者,仅支持,append,存储文件的一种方式,Server,(10*1TB,),0.5 TB,1.2 TB,50 GB,100 GB,file3,50 GB,file1,0.5 TB,file2 1.2 TB,file4,100 GB,Server,(10*1TB,),Server,(10*1TB,),Server,(10*1TB,),file1:node1,file2:node3,file3:node4,file4:node5,.,file1,file2,file3,file4,file1,file1,file2,file2,file3,file4,file1:node1,node2,node3,file2:node2,node3,node4,file3:node4,mode5,node6,file4:node5,node6.node7,.,存在问题,难以实现负载均衡,文件大小不同,节点磁盘利用率难以均衡,不利于并行处理,大,文件放在一个节点上,受限于单个节点处理能力,HDFS,设计思想,Server,(10 TB,),Server,(10 TB,),Server,(10 TB,),block1,block2,block3,block4,block1,block1,block2,block2,block3,block3,block4,block4,block1:node1,node2,node3,block2:node2,node3,node4,block3:node4,mode5,node6,block4:node5,node6.node7,.,Server,(10 TB,),64MB,64MB,64MB,64MB,file3,50 GB,block1,block2,block3,HDFS,架构,Standby Namenode,HDFS,架构,主,Master,(只有一个),管理,HDFS,的名称空间,管理数据块映射信息,配置副本策略,处理客户端读写请求,A,ctive,Namenode,NameNode,的热备;,定期合并,fsimage,和,fsedits,,推送给,NameNode,;,当,Active NameNode,出现故障时,快速切换为新的,Active NameNode,。,S,tandby,NameNode,HDFS,架构,文件切分,与,NameNode,交互,获取文件位置信息;,与,DataNode,交互,读取或者写入数据;,管理,HDFS,;,访问,HDFS,。,Client,S,lave,(有多个),存储实际的数据块,执行数据块读,/,写,Datanode,HDFS,数据块(,block,),文件被切分成固定大小的数据块,默认数据块大小为,64MB,,可配置,若文件大小不到,64MB,,则单独存成一个,block,为何数据块如此之大,数据传输时间超过寻道时间(高吞吐率),一个文件存储方式,按大小被切分成若干个,block,,存储到不同节点上,默认情况下每个,block,有三个副本,HDFS,写,流程介绍,HDFS,读流程介绍,HDFS,副本放置策略,每个机架通常有,16-64,个节点,同一个机架内任意两个节点间共享,1Gbps,带宽,机架间带宽为,2-10Gbps,HDFS,块副本放置策略,RackA,RackB,问题:,一,个文件划分成多个,block,,每个,block,存多份,如何为每个,block,选择节点存储这几份数据?,Block,副本放置策略:,副本,1,:,同,Client,的,节点上,副本,2,:,不同机架中的节点上,副本,3,:,与,第二,个,副本同一机架的,另一个节点上,其他副本,:,随机挑选,HDFS,可靠性,文件损坏,网络或者,机器失效,N,ameNode,挂掉,常见的三种错误情况,文件完整性,CRC32,校验,用其他副本取代损坏文件,Heartbeat,Datanode,定期向,Namenode,发,heartbeat,元数据信息,FSImage,(文件系统镜像)、,Editlog,(操作日志),多份存储,主备,NameNode,实时切换,文件损坏,网络或者,机器失效,N,ameNode,挂掉,常见的三种错误情况,HDFS,不适合存储小文件,元信息存储在,NameNode,内存中,一,个节点的内存是有限的,存取大量小文件消耗大量的寻道时间,类比拷贝大量小文件与拷贝同等大小的一个大文件,NameNode,存储,block,数目是有限的,一,个,block,元信息消耗大约,150 byte,内存,存储,1,亿个,block,,大约需要,20GB,内存,如果一个文件大小为,10K,,则,1,亿个文件大小仅为,1TB,(但要消耗掉,NameNode 20GB,内存),YARN,是,什么,资源管理和调度系统,管理,集群中的资源(类似于操作系统),将资源分配给上层的应用程序,好处,降低运维成本,有利于数据共享,提高资源利用率,YARN,基本架构,YARN,基本架构,ResourceManager,处理客户端请求,启动,/,监控,ApplicationMaster,监控,NodeManager,资源分配与调度,NodeManager,单个节点上的资源管理,处理来自,ResourceManager,的命令,处理来自,ApplicationMaster,的命令,Container,对任务运行环境的抽象,封装了,CPU,、内存等多维资源以及环境变量、启动命令等任务运行相关的信息,YARN,基本架构,ApplicationMaster,数据切分,为应用程序申请资源,并分配给内部任务,任务监控与容错,Client,用户与,YARN,交互的客户端程序,提交应用程序、监控应用程序状态,杀死应用程序等,YARN,工作原理,Node,Manager,Node,Manager,Node,Manager,Resource,Manager,Application,Master,Client,Client,Client,Task,Container,Container,Task,Task,Container,YARN,资源调度器,多类型资源调度,采用,DRF,算法(论文:“,Dominant Resource Fairness:Fair Allocation of Multiple Resource Types,”),目前支持,CPU,和内存两种资源,提供多种资源调度器,FIFO,Fair Scheduler,Capacity Scheduler,多租户资源调度器,支持资源按比例分配,支持层级队列划分方式,支持资源抢占,YARN,资源调度器,Capacity Scheduler,由,Yahoo,开源,共享集群调度器,以队列方式组织作业,每个队列内部采用,FIFO,调度策略,每个队列分配一定比例资源,可限制每个用户使用资源量,YARN,资源调度器,Capacity Scheduler,app11,按到达时间排序,先来先服务,app,12,app,13,app,14,app,15,app,16,app,21,app,22,app,23,app24,app,25,app,31,app,32,app,33,app,34,app,35,app,36,app,37,queueA,queueB,queueC,100,memory,(20%,15),(50%,25),(30%,25),YARN,资源调度器,Fair Scheduler,由,Facebook,开源的,共享集群调度器,以队列方式组织作业,基于最小资源量,(min share),与公平共享量,(fair share),进行调度,作业优先级越高,分配到的资源越多,YARN,资源调度器,Fair Scheduler,job11,优先级越大,获得的资源越多,job12,job13,job14,job15,job16,job21,job22,job23,job24,job25,job31,job32,job33,job34,job35,job36,job37,queueA,queueB,queueC,YARN,资源隔离机制,支持内存和,CPU,两种资源隔离,内存是一种“决定生死”的资源,CPU,是一种“影响快慢”的资源,内存隔离,基于线程监控的方案,基于,Cgroups,的方案,CPU,隔离,默认不对,CPU,资源进行隔离,基于,Cgroups,的,方案,以,YARN,为核心构建服务体系,MapReduce,是什么,源自于,Google,的,MapReduce,论文,发表于,2004,年,12,月,Hadoop MapReduce,是,Google MapReduce,克隆版,MapReduce,特点,易于编程,良好的扩展性,高容错性,适合,PB,级以上海量数据的,离线处理,MapReduce,不,擅长什么,实时计算,像,MySQL,一样,在毫秒级或者秒级内返回结果,流式计算,MapReduce,的输入数据集是静态的,不能动态变化,MapReduce,自身的设计特点决定了数据源必须是静态的,DAG,计算,多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出,初识,MapReduce,MapReduce,编程模型,41,Split 0,Split 1,Split 2,Split 3,Mapper,Read,(Inputformat),Mapper,Read,(Inputformat),Mapper,Read,(Inputformat),Mapper,Read,(Inputformat),a,1,b,1,Partitioner,c,1,c,1,Partitioner,a,1,c,1,Partitioner,b,1,b,1,Partitioner,Shuffle&Sort,a,1,a,1,Reducer,b,1,b,1,Reducer,b,1,c,1,c,1,Reducer,c,1,Part-0,Part-1,Part-2,Map,阶段,Write,(Outputformat),Write,(Outputformat),Reduce,阶段,Shuffle&Sort,Shuffle&Sort,HDFS,HDFS,Map,Task,Reduce,Task,Write,(Outputformat),MapReduce,编程模型,MapReduce,编程模型,Map,阶段,InputFormat,(默认,TextInputFormat,),Mapper,Combiner,(,local reducer,),Partitioner,Reduce,阶段,Reducer,OutputFormat,(默认,TextOutputFormat,),MapReduce,1.0,架构,MapReduce,1.0,架构,Master,管理所有,作业,将作业分解成一系列,任务,将任务指派给,TaskTracker,作业,/,任务监控、错误处理等,JobTracker,TaskTrackers,S,lave,运行,Map Task,和,Reduce Task,与,JobTracker,交互,执行命令,并汇报任务状态,MapReduce,1.0,架构,Map,引擎,解析每条数据记录,传递给用户编写的,map(),将,map(),输出数据写入本地磁盘(如果是,map-only,作业,则直接写入,HDFS,),M,ap Task,R,educe Task,R,educe,引擎,从,Map Task,上远程读取输入数据,对数据排序,将数据按照分组传递给用户编写的,reduce(),MapReduce,2.0,架构,MapReduce,2.0,架构,Client,与,MapReduce 1.0,的,Client,类似,用户通过,Client,与,YARN,交互,提交,MapReduce,作业,查询作业运行状态,管理作业等。,MRAppMaster,功能类似于,1.0,中的,JobTracker,,但不负责资源管理;,功能包括:任务划分、资源申请并将之二次分配个,Map Task,和,Reduce Task,、任务状态监控和容错。,MapReduce,实现机制,数据本地性,什么是数据本地性(,data locality,),如果任务运行在它将处理的数据所在的节点,则称该任务具有“数据本地性”,本地性可避免跨节点或机架数据传输,提高运行效率,数据本地性分类,同节点,(node-local),同机架,(rack-local),其他(,off-switch,),MapReduce,实现机制,推测执行,作业完成时间取决于最慢的任务完成时间,一个作业由若干个,Map,任务和,Reduce,任务构成,因硬件老化、软件,Bug,等,某些任务可能运行非常慢,推测执行机制,发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度,为拖后腿任务启动一个备份任务,同时运行,谁先运行完,则采用谁的结果,不建议启用,推测执行,机制的情况,任务间存在严重的负载倾斜,特殊任务,比如任务向数据库中写数据,MapReduce,实现机制,任务并行执行,主要内容,背景介绍,1,Hadoop,内核介绍,2,Hadoop,生态系统介绍,3,总结,4,Hadoop 1.0,生态系统构成,Hadoop 2.0,生态系统构成,参考资料,Hadoop,文档:,Apache,:,http,:/hadoop.apache.org/docs/current,/,Cloudera,:,Action,(,Hadoop,生态系统介绍与入门),Hadoop Operations,(,Hadoop,集群搭建、管理与维护),Hadoop,Operations and Cluster Management Cookbook,Hadoop Real-World Solutions,Cookbook,(,Hadoop,各种实用技巧),Q&A?,Thank You!,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服