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分布式文件系统)、MapReduceHadoop的初衷是为解决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.0Hadoop2.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将资源分配给AMAM将资源进一步分配给各个Task基于资源预留的调度策略资源不够时,会为Task预留,直到资源充足与“allornothing”策略不同(ApacheMesos)HadoopYARN资源调度器多类型资源调度采用DRF算法(论文:“DominantResourceFairness:FairAllocationofMultipleResourceTypes”)目前支持CPU和内存两种资源提供多种资源调度器FIFOFairSchedulerCapacityScheduler多租户资源调度器支持资源按比例分配支持层级队列划分方式支持资源抢占HadoopYARN资源隔离方案支持内存和CPU两种资源隔离内存是一种“决定生死”的资源CPU是一种“影响快慢”的资源内存隔离基于线程监控的方案基于Cgroups的方案CPU隔离默认不对CPU资源进行隔离基于Cgroups的方案HadoopYARN资源调度语义支持的语义请求某个特定节点/机架上的特定资源量将某些节点加入(或移除)黑名单,不再为自己分配这些节点上的资源请求归还某些资源不支持的语义请求任意节点/机架上的特定资源量请求一组或几组符合某种特质的资源超细粒度资源动态调整Container资源主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景34HadoopYARN基本架构5运行在YARN上的基本框架6YARN发展趋势应用程序的运行模型MapinputoutputMapinputReduceoutputStage1inputoutputStage2Stage3Stage4Stage1inputoutputStage2Stage3StageNYARN应用程序类型长应用程序和短应用程序长应用程序Service、HTTPServer等短应用程序MRjob、SparkJob等以YARN为核心的生态系统运行在YARN上的计算框架离线计算框架:MapReduceDAG计算框架:Tez流式计算框架:Storm内存计算框架:Spark图计算框架:Giraph、GraphLib离线计算框架MapReduce将计算过程分为两个阶段,Map和ReduceMap阶段并行处理输入数据Reduce阶段对Map结果进行汇总Shuffle连接Map和Reduce两个阶段MapTask将数据写到本地磁盘ReduceTask从每个MapTask上读取一份数据仅适合离线批处理具有很好的容错性和扩展性适合简单的批处理任务缺点明显启动开销大、过多使用磁盘导致效率低下等MapReduceOnYARN25MRAppMstrNodeManagerMapTaskNodeManager66ReduceTaskClient1Container245MapTask777ContainerContainerContainerResourceManager3,86ApplicationsManagerResourceSchedulerDAG计算框架Tez多个作业之间存在数据依赖

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

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

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

×
保存成功