您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > Hadoop2.0架构设计与原理
Hadoop2.0架构设计与原理数据中心-Alan主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的计算框架6YARN发展趋势主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势Hadoop概述Hadoop是一个开源的、可靠的、可扩展的分布式并行计算框架主要组成:分布式文件系统HDFS和MapReduce算法执行作者:DougCutting语言:Java,支持多种编程语言,如:Python、C++Hadoop的起源Hadoop是Google的集群系统的开源实现Google集群系统:GFS(GoogleFileSystem)、MapReduce、BigTableHadoop主要由HDFS(HadoopDistributedFileSystemHadoop分布式文件系统)、MapReduceHadoop的初衷是为解决Nutch的海量数据爬取和存储的需要Hadoop于2005年秋天作为Lucene的子项目Nutch的一部分正式引入Apache基金会。名称起源:DougCutting儿子的黄色大象玩具的名字目前最新稳定版本2.6.0什么是大数据•数据集主要特点Volume:数量量从TB到PB级别Variety:数据类型复杂,超过80%的数据是非结构化的Velocity:数据量在持续增加(两位数的年增长率)Value:巨大的数据价值其他特征数据来自大量源,需要做相关性分析需要实时或者准实时的流式采集,有些应用90%写vs.10%读数据需要长时间存储,非热点数据也会被随机访问什么是大数据某比萨店的电话铃响了,客服人员拿起电话。客服:XXX比萨店。您好,请问有什么需要我为您服务?顾客:你好,我想要一份……客服:先生,烦请先把您的会员卡号告诉我。顾客:16846146***。客服:陈先生,您好!您是住在泉州路一号12楼120x室,请问您想要点什么?顾客:我想要一个海鲜比萨……客服:陈先生,海鲜比萨不适合您。顾客:为什么?客服:根据您的医疗记录,你的血压和胆固醇都偏高。顾客:那你们有什么可以推荐的?客服:您可以试试我们的低脂健康比萨。顾客:你怎么知道我会喜欢吃这种的?客服:您上星期一在中央图书馆借了一本《低脂健康食谱》。顾客:好。那我要一个家庭特大号比萨,要付多少钱?客服:99元,这个足够您一家六口吃了。但您母亲应该少吃,她上个月刚刚做了心脏搭桥手术,还处在恢复期。顾客:那可以刷卡吗?客服:陈先生,对不起。请您付现款,因为您的信用卡已经刷爆了,您现在还欠银行4807元,而且还不包括房贷利息。顾客:那我先去附近的提款机提款。客服:陈先生,根据您的记录,您已经超过今日提款限额。顾客:算了,你们直接把比萨送我家吧,家里有现金。你们多久会送到?客服:大约30分钟。如果您不想等,可以自己骑车来。顾客:为什么?客服:根据我们全球定位系统的车辆行驶自动跟踪系统记录。您登记有一辆车号为SB-748的摩托车,而目前您正在解放路东段华联商场右侧骑着这辆摩托车。顾客当即晕倒……大数据VS传统数据大数据处理流程101010010101010101111010100101010101011101011010100101010101011101011010100101010101011110101001010101010111非结构化数据结构化数据实时流数据其它数据APITextBigDataStoreandAnalyticsETL0101101010010101010101110101101010010101010101111010100101010101011101011010100101010101011101011010100101010101011110101001010101010111Hadoop生态圈主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势HDFS-分布式文件系统设计目标错误检测和快速自动恢复•硬件故障是常态而非异常为流式数据访问优化针对支持大数据集•单个文件大小有数GB或者TB•可提供高聚合带宽访问•可能够扩展至数千个节点简化“一致性”模型•一次写入、多次读,写入过程可能并发移动“计算”比移动“数据”更便宜主要特点使用低成本存储和服务器构建存放PB级别的海量数据高可扩展性,实际生产环境扩展至4000个节点高可靠性和容错性,数据自动复制,可自我修复高带宽,高并发访问,对于延迟不敏感数据分布与复制数据块:文件被划分为固定大小的数据块进行存储数据块缺省为64M,远大于一般文件系统数据块大小•减少元数据的量•有利于顺序读写(在磁盘上顺序存放)可靠性:数据通过副本的方式保存在多个数据节点上•默认3个副本•副本选择会考虑机架信息以防止整个机架同时掉电系统设计优化:用单个管理节点来保存文件系统元数据和管理/协调数据缓存:DataNode没有数据缓存•由于文件的访问是扫描式的,不具有局部性访问方式•读、写、文件改名、删除等•文件内容不允许覆盖更新•提供一个特殊的访问接口:追加appendHDFS基本设计HDFS体系结构•中心目录服务器(NameNode)管理大量数据服务器(DataNode)•NameNode管理元数据(文件目录树,文件-块映射,块-数据服务器映射表,etc.)•DataNode负责存储数据、以及响应数据读写请求•客户端与NameNode交互进行文件创建/删除/寻址等操作,之后直接与DataNodes交互进行文件I/OHDFS写文件流程HDFS读文件流程什么是MapReduce编程模型?Map(映射):对一些独立元素组成的列表的每一个元素进行指定的操作,可以高度并行。Reduce(化简):对一个列表的元素进行合并。一个简单的MapReduce程序只需要指定map()、reduce()、输入和输出,剩下的事由框架帮你搞定。MapReduce计算框架•为离线数据分析而设计,基本上是个利用数据并行性进行分布运算而后汇总结果的计算框架分析问题能够被并行化,且输入数据集可以被切分一个Map函数,在第一阶段计算Key,Value对一个Reduce函数,在第二阶段用于汇总Map函数的结果MapReduce运行机制MapReduce原理MapReduce实例分析主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势HadoopYARN产生背景直接源于MRv1在几个方面的缺陷扩展性受限单点故障难以支持MR之外的计算多计算框架各自为战,数据共享困难MR:离线计算框架Storm:实时计算框架Spark:内存计算框架Hadoop1.0和2.0Hadoop2.0由HDFS、MapReduce和YARN三个分支构成;HDFS:NNFederation、HA;MapReduce:运行在YARN上的MR;YARN:资源管理系统主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势HadoopYARN基本架构HadoopYARN各模块组成ResourceManager处理客户端请求启动/监控ApplicationMaster监控NodeManager资源分配与调度NodeManager单个节点上的资源管理处理来自ResourceManager的命令处理来自ApplicationMaster的命令ApplicationMaster数据切分为应用程序申请资源,并分配给内部任务任务监控与容错HadoopYARN运行流程分析NodeManagerNodeManagerNodeManagerResourceManagerApplicationMasterClientClientClient①②③④⑤⑤⑤⑥⑥TaskContainerContainerTaskTaskContainerHadoopYARN容错ResourceManager基于ZooKeeper实现HA。NodeManager失败后,RM将失败任务告诉对应的AM;AM决定如何处理失败的任务。ApplicationMaster失败后,由RM负责重启;AM需处理内部任务的容错问题;RMAppMaster会保存已经运行完成的Task,重启后无需重新运行。HadoopYARN调度框架双层调度框架RM将资源分配给AMAM将资源进一步分配给各个Task基于资源预留的调度策略资源不够时,会为Task预留,直到资源充足与“allornothing”策略不同(ApacheMesos)HadoopYARN资源调度器多类型资源调度采用DRF算法(论文:“DominantResourceFairness:FairAllocationofMultipleResourceTypes”)目前支持CPU和内存两种资源提供多种资源调度器FIFOFairSchedulerCapacityScheduler多租户资源调度器支持资源按比例分配支持层级队列划分方式支持资源抢占HadoopYARN资源隔离方案支持内存和CPU两种资源隔离内存是一种“决定生死”的资源CPU是一种“影响快慢”的资源内存隔离基于线程监控的方案基于Cgroups的方案CPU隔离默认不对CPU资源进行隔离基于Cgroups的方案HadoopYARN资源调度语义支持的语义请求某个特定节点/机架上的特定资源量将某些节点加入(或移除)黑名单,不再为自己分配这些节点上的资源请求归还某些资源不支持的语义请求任意节点/机架上的特定资源量请求一组或几组符合某种特质的资源超细粒度资源动态调整Container资源主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势应用程序的运行模型MapinputoutputMapinputReduceoutputStage1inputoutputStage2Stage3Stage4Stage1inputoutputStage2Stage3StageNYARN应用程序类型长应用程序和短应用程序长应用程序Service、HTTPServer等短应用程序MRjob、SparkJob等以YARN为核心的生态系统运行在YARN上的计算框架离线计算框架:MapReduceDAG计算框架:Tez流式计算框架:Storm内存计算框架:Spark图计算框架:Giraph、GraphLib离线计算框架MapReduce将计算过程分为两个阶段,Map和ReduceMap阶段并行处理输入数据Reduce阶段对Map结果进行汇总Shuffle连接Map和Reduce两个阶段MapTask将数据写到本地磁盘ReduceTask从每个MapTask上读取一份数据仅适合离线批处理具有很好的容错性和扩展性适合简单的批处理任务缺点明显启动开销大、过多使用磁盘导致效率低下等MapReduceOnYARN25MRAppMstrNodeManagerMapTaskNodeManager66ReduceTaskClient1Container245MapTask777ContainerContainerContainerResourceManager3,86ApplicationsManagerResourceSchedulerDAG计算框架Tez多个作业之间存在数据依赖
本文标题:Hadoop2.0架构设计与原理
链接地址:https://www.777doc.com/doc-3750825 .html