Hadoop2.0架构设计与原理_第1页
Hadoop2.0架构设计与原理_第2页
Hadoop2.0架构设计与原理_第3页
Hadoop2.0架构设计与原理_第4页
Hadoop2.0架构设计与原理_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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于2023年秋天作为Lucene的子工程Nutch的一局部正式引入Apache基金会。名称起源:DougCutting儿子的黄色大象玩具的名字目前最新稳定版本什么是大数据数据集主要特点Volume:数量量从TB到PB级别Variety:数据类型简洁,超过80%的数据是非构造化的Velocity:数据量在持续增加(两位数的年增长率)Value:巨大的数据价值其他特征数据来自大量源,需要做相关性分析需要实时或者准实时的流式采集,有些应用90%写vs.10%读数据需要长时间存储,非热点数据也会被随机访问什么是大数据某比萨店的铃响了,客服人员拿起。客服:XXX比萨店。您好,请问有什么需要我为您效劳?顾客:你好,我想要一份……客服:先生,烦请先把您的会员卡号告知我。顾客:16846146***。客服:陈先生,您好!您是住在泉州路一号12楼120x室,请问您想要点什么?顾客:我想要一个海鲜比萨……客服:陈先生,海鲜比萨不适合您。顾客:为什么?客服:依据您的医疗记录,你的血压和胆固醇都偏高。顾客:那你们有什么可以推举的?客服:您可以试试我们的低脂安康比萨。顾客:你怎么知道我会宠爱吃这种的?客服:您上星期一在中心图书馆借了一本《低脂安康食谱》。顾客:好。那我要一个家庭特大号比萨,要付多少钱?客服:99元,这个足够您一家六口吃了。但您母亲应当少吃,她上个月刚刚做了心脏搭桥手术,还处在恢复期。顾客:那可以刷卡吗?客服:陈先生,对不起。请您付现款,由于您的信用卡已经刷爆了,您现在还欠银行4807元,而且还不包括房贷利息。顾客:那我先去四周的提款机提款。客服:陈先生,依据您的记录,您已经超过今日提款限额。顾客:算了,你们直接把比萨送我家吧,家里有现金。你们多久会送到?客服:大约30分钟。假设您不想等,可以自己骑车来。顾客:为什么?客服:依据我们全球定位系统的车辆行驶自动跟踪系统记录。您登记有一辆车号为SB-748的摩托车,而目前您正在解放路东段华联商场右侧骑着这辆摩托车。顾客当即晕倒……大数据VS传统数据

大数据处理流程0101非构造化数据构造化数据实时流数据其它数据APITextBigDataStoreandAnalyticsETLHadoop生态圈主要内容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进展趋势Hadoop

YARN产生背景

直接源于MRv1在几个方面的缺陷

扩展性受限

单点故障

难以支持MR之外的计算

多计算框架各自为战,数据共享困难

MR:离线计算框架

Storm:实时计算框架

Spark:内存计算框架Hadoop

1.0和2.0Hadoop2.0由HDFS、MapReduce和YARN三个分支构成;HDFS:NNFederation、HA;MapReduce:运行在YARN上的MR; YARN:资源治理系统主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景

34HadoopYARN根本架构5运行在YARN上的根本框架6YARN进展趋势HadoopYARN根本架构Hadoop

YARN各模块组成ResourceManager处理客户端恳求启动/监控ApplicationMaster监控NodeManager资源安排与调度NodeManager单个节点上的资源治理处理来自ResourceManager的命令处理来自ApplicationMaster的命令ApplicationMaster数据切分为应用程序申请资源,并安排给内部任务任务监控与容错Hadoop

YARN运行流程分析NodeManagerNodeManagerNodeManagerResourceManagerApplicationMasterClientClientClient①②③④⑤⑤⑤⑥⑥TaskContainerContainerTaskTaskContainerHadoop

YARN容错ResourceManager基于ZooKeeper实现HA。NodeManager失败后,RM将失败任务告知对应的AM;AM准备如何处理失败的任务。ApplicationMaster失败后,由RM负责重启;AM需处理内部任务的容错问题;RMAppMaster会保存已经运行完成的Task,重启后无需重新运行。Hadoop

YARN调度框架双层调度框架RM将资源安排给AMAM将资源进一步安排给各个Task基于资源预留的调度策略资源不够时,会为Task预留,直到资源充分与“allornothing”策略不同〔ApacheMesos〕Hadoop

YARN资源调度器多类型资源调度承受DRF算法〔论文:“DominantResourceFairness:FairAllocationofMultipleResourceTypes”〕目前支持CPU和内存两种资源供给多种资源调度器FIFOFairSchedulerCapacityScheduler多租户资源调度器支持资源按比例安排支持层级队列划分方式支持资源抢占Hadoop

YARN资源隔离方案支持内存和CPU两种资源隔离内存是一种“准备生死”的资源CPU是一种“影响快慢”的资源内存隔离基于线程监控的方案基于Cgroups的方案CPU隔离默认不对CPU资源进展隔离基于Cgroups的方案Hadoop

YARN资源调度语义支持的语义恳求某个特定节点/机架上的特定资源量将某些节点参与〔或移除〕黑名单,不再为自己安排这些节点上的资源恳求归还某些资源不支持的语义恳求任意节点/机架上的特定资源量恳求一组或几组符合某种特质的资源超细粒度资源动态调整Container资源主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景

34HadoopYARN根本架构5运行在YARN上的根本框架6YARN进展趋势应用程序的运行模型MapinputoutputMapinputReduceoutputStage1inputoutputStage2Stage3Stage4Stage1inputoutputStage2Stage3StageNYARN应用程序类型

长应用程序和短应用程序

长应用程序

Service、HTTP

Server等

短应用程序

MR

job、Spark

Job等以YARN为核心的生态系统运行在YARN上的计算框架

离线计算框架:MapReduce

DAG计算框架:Tez

流式计算框架:Storm

内存计算框架:Spark

图计算框架:Giraph、GraphLib离线计算框架MapReduce将计算过程分为两个阶段,Map和ReduceMap阶段并行处理输入数据Reduce阶段对Map结果进展汇总Shuffle连接Map和Reduce两个阶段MapTask将数据写到本地磁盘ReduceTask从每个MapTask上读取一份数据仅适合离线批处理具有很好的容错性和扩展性适合简洁的批处理任务缺点明显启动开销大、过多使用磁盘导致效率低下等MapReduce

On

YARN2 5MRAppMstrNodeManagerMapTaskNodeManager6 6ReduceTaskClient1Container245MapTask 777ContainerContainerContainerResourceManager3,86ApplicationsManagerResourceSchedulerDAG计算框架Tez多个作业之间存在数据依靠关系,并形成一个依靠关系有向图〔DirectedAcyclicGraph〕,该图的计算称为“DAG计算”ApacheTez:基于YARN的DAG计算框架运行在YARN之上,充分利用YARN的资源治理和容错等功能;供给了丰富的数据流〔dataflow〕API;扩展性良好的“Input-Processor-Output”运行时模型;动态生成物理数据流关系。Phase

1Phase

2Phase

3Phase

4Phase

5MapReduceMapReduceReduceDAG计算框架TezHDFSMap1Reduce1HDFSHDFSMap2Reduce2HDFSWordCountTop

KHDFSMap1Reduce12HDFSWordCount+Top

KReduce2Job1Job2DAG

JobUsingTezJob1Job2Job4SingleJobUsingTez

On

YARNDAG

AppMstrNodeManager2 5Vertex-ATaskNodeManagerVertex-ATaskClient1Container245Vertex-ATask777ContainerContainerContainerResourceManager3,866ApplicationsManagerResourceSchedulerTez优化技术ApplicationMaster缓冲池作业提交到AMPoolServer效劳上预启动假设干个ApplicationMaster,形成一个ApplicationMaster缓冲池预先启动ContainerApplicationMaster启动时可以预先启动假设干个ContainerContainer重用任务运行完成后,ApplicationMaster不会马上注销它使用的Container,而是将它重新安排给其他未运行的任务Tez应用场景直接编写应用程序Tez供给了一套通用编程接口适合编写有依靠关系的作业优化Pig、Hive等引擎下一代Hive:Stinger好处1:避开查询语句转换成过多的MapReduce作业后产生大量不必要的网络和磁盘IO好处2:更加智能的任务处理引擎流式计算Storm流式〔Streaming〕计算,是指被处理的数据像流水一样不断流入系统,而系统需要针对每条数据进展实时处理和计算,并永不停顿〔直到用户显式杀死进程〕;传统做法:由消息队列和消息处理者组成的实时行实时计算;化性现。处理网络进缺乏自动缺乏强健伸缩性差Storm出引自:2023中国大数据技术大会肖康:“Storm在实时网络攻击检测和分析的应用与改进”,PPT::///slides/1230流式计算框架StormNimbusSupervisorZookeeperExecutorExecutorWorkerExecutorExecutorWorkerSpoutTasks,topology1Blot-ATasks,topology1SupervisorExecutorExecutorWorkerExecutorExecutorWorkerSupervisorExecutorExecutorWorkerExecutorExecutorWorkerSpoutTasks,topology1Blot-BTasks,topology1SpoutTasks,topology2Blot-1Tasks,topology2Blot-CTasks,topology1Blot-BTasks,topology1Blot-2Tasks,topology2Blot-1Tasks,topology2Blot-2Tasks,topology2Blot-2Tasks,topology2流式计算框架StormTaskTaskTaskTaskTaskTaskTaskTaskTaskSpoutBlot-ABlot-BBlot-CStreamGroupingStreamGroupingTopologyHadoop

MapReduce(MRv1)Storm系统服务JobTrackerNimbusTaskTrackerSupervisorChildWorker应用程序名称JobTopology编程模型Map/ReduceSpout/BlotShuffleStream

GroupingStorm

On

YARNResourceManagerNodeManagerNodeManagerStormSupervisiorNodeManager②④④④YARN-StormClientYARN-MPIClientYARN-MapReduceeClientStorm

①SubmissionResource

RequestStormApplicationMaster③StormSupervisiorZookeeperNodeManagerMRAppMstrContainerMapTaskContainer……StormClient⑤StormClient⑤NimbusWeb

UI内存计算框架Spark抑制MapReduce在迭代式计算和交互式计算方面的缺乏;引入RDD〔ResilientDistributedDatasets〕数据表示模型;RDD是集合,一个有容错机制,可以被并能够被缓存到内存或磁盘上行操作的数据。引自:“基于SparkonYarn的淘宝数据挖掘平台”,PPT:://vdisk.weibo/s/dn9q7A_XuVrf内存计算框架SparkSpark

On

YARNResourceManagerNodeManagerNodeManagerStandaloneExecutorBackenddNodeManagerYARN-SparkClientYARN-MPIClientYARN-MapReducee

ClientSparkSubmissionResource

RequestClusterSchedulerSpark

Application

MasterStandaloneExecutorBackendNodeManagerMR

AppMstrContainerMap

TaskContainer……Web

UISpark生态系统主要内容Hadoop介绍1Hadoop原理2HadoopYARN产生的背景

34HadoopYARN根本架构5运行在YARN上的根本框架6YARN进展趋势资源治理系统带来的好处

提高集群资源利用率 效劳自动化部署YARN(资源治理系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论