




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop分布式系统基础架构Hadoop系统简介Hadoop是一个大数据分布式系统基础架构,是公认的大数据通用存储和分析平台。它实现了分布式文件系统HDFS(HadoopDistributedFileSystem)、分布式运行程序编程框架MapReduce及资源管理系统YARN(YetAnotherResourceNegotiator),其中,HDFS和MapReduce是Hadoop最核心的设计部分。Hadoop生态系统狭义上的Hadoop指的是由HDFS、MapReduce、YARN组成的集数据存储、计算和资源管理调度于一体的大数据框架。广义上的Hadoop指的是以Hadoop为核心,包括HBase、Hive、Flume、Sqoop、Azkaban等底层使用MapReduce进行计算的大数据分布式系统基础架构。Hadoop版本Hadoop版本分为三代:第一代Hadoop被称为Hadoop1.0,第二代Hadoop被称为Hadoop2.0,第三代Hadoop被称为Hadoop3.X。Hadoop1.0技术架构Hadoop1.0技术架构Hadoop2.0Hadoop1.0和Hadoop2.0从HDFS和MapReduce两个角度比较1)HDFS角度(1)Hadoop2.0新增了HDFSHA(高可用)机制,HA增加了StandbyNameNode作为热备份,它们通过一个共享的存储结构QJM(QuorumJournalManager)实现数据同步,解决了Hadoop1.0的单点故障问题。(2)Hadoop2.0新增了HDFSFederation(联邦模式),解决了HDFS水平可扩展能力低的问题。Hadoop1.0和Hadoop2.02)MapReduce角度Hadoop2.0新增了YARN框架,使MapReduce的运行环境发生了变化。MapReduce2.0只是一个计算框架,具体资源调度全部交给YARN框架。Hadoop3.XHadoop3.0提供了更高的性能、更强的容错能力及更高的数据处理能力。在可扩展性方面,Hadoop3.0为YARN提供了Federation,使其集群规模可以达到上万台。Hadoop3.0支持两个以上的NameNode,支持单ActiveNameNode和多StandbyNameNode的部署方式,进一步提升了可用性。Hadoop3.XJava运行环境升级为1.8版本,HDFS使用擦除编码机制来提供容错能力。Hadoop3.0新增了YARN时间线服务,进行了MapReduce本地优化,使性能提升了30%。HDFS概述分布式文件系统随着互联网应用的普及,电商网站、音视频网站等进入了大规模数据应用领域,采用单机模式已经无法满足实际需求。为了解决单机模式存在的问题,Google开发了分布式文件系统GFS,该文件系统的服务端通过一个集群来实现,客户端可以并发地访问该集群的数万个节点,承载能力得到极大的提升。分布式文件系统当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统就被称为分布式文件系统。HDFS简介HDFS是一种允许文件通过网络在多台主机上分享的文件系统,可以让多台机器上的多个用户分享文件和存储空间。HDFS允许运行在大量普通的机器上,提供容错机制,是一种易于扩展的分布式文件系统,为大量用户提供性能较好的文件存取服务。HDFS的优点(1)高容错性,会自动保存多个副本,默认保存3个副本,可根据需要进行设置,且副本丢失后,会自动恢复。(2)适合批处理,移动计算而非移动数据,将数据位置暴露给计算框架,将数据切分为BlockList,并将BlockList存放在NodeList中。NameNode中保存HDFS的两个维度的映射。(3)适合大数据处理,支持GB、TB甚至PB级数据,百万规模以上的文件数量,10KB+节点规模。(4)流文件访问:一次性写入,多次读取,保证数据一致性。(5)可构建在普通机器上:通过多副本提高可靠性,提供了容错和恢复机制。HDFS架构Hadoop2.0之后提出了HA(HighAvailability高可用性)的概念。可以采用HA的HDFS集群配置两个NameNode,使其分别处于Active和Standby状态。HDFS读写文件流程HDFS写文件流程HDFS写文件流程当客户端需要写入数据时,先在NameNode上创建文件结构并确定将数据块副本写入到哪几个DataNode中,然后将多个待写DataNode组成一个写数据管道,保证写入过程完整、统一。HDFS读写文件流程当客户端需要读取数据时,先通过NameNode找到存储数据块副本的所有DataNode,根据与读取的客户端的距离(就近原则,本地→同机架→同交换机→同机房)排序数据块,然后选择距离最近的DataNode来读取数据。HDFS读写文件流程HDFS读文件流程HDFS的Block副本放置策略(1)第一个Block副本放置在客户端节点所在机架的DataNode里(如果客户端不在集群范围内,则会随机选择一个节点,但系统会尽量避开过满或过载的节点。(2)第二个Block副本放置在与第一个DataNode节点相同的机架中的另一个DataNode中(随机选择)。(3)第三个Block副本放置在另一个随机远端机架的一个随机DataNode中。如果需要更多的副本,则随机放置在集群的节点中。这种策略旨在实现数据冗余和故障恢复,确保数据的安全性和可靠性。HDFS的Block副本放置策略HDFS的可靠性策略HDFS的可靠性策略是由多个机制共同维护的,有文件完整性、心跳检测、元数据保护、副本冗余策略、主备NameNode实时切换、机架策略、安全模式、保护快照机制等。MapReduceMapReduceMapReduce是一个分布式运算程序的计算框架,其核心功能是将用户编写的业务逻辑代码和自带的默认组件整合成一个完整的分布式运算程序,从而并发运行在一个Hadoop集群上。MapReduce的基本思路是先对庞大的数据集进行划分,将其分解成若干个小的数据集,再将每个(或多个)数据集交由集群中的某个普通计算节点运行,得到一个中间的输出结果。之后,将这些中间的输出结果根据一定的规则进行汇聚,归并出最后的输出结果到HDFS上。MapReduce架构MapReduce2.0采用了主从(MasterSlave)结构,ResourceManager(资源管理器)是Master,NodeManger(节点管理器)是Slave。ResourceManager分为Scheduler(调度器)和ApplicationsManager(应用程序管理器)。Scheduler负责作业的调度并将集群中的资源分配给应用,ApplicationManager负责接收任务。MapReduce2.0架构Container(容器)是YARN中资源的抽象,将操作系统中多维度的资源(如CPU、内存、网络I/O和磁盘I/O等)封装在一起,是YARN中资源的基本单位。客户端提交一个作业(应用程序)到ResourceManager上,ResourceManager先与集群中的NodeManager通信,然后根据集群中NodeManger的资源使用情况,确定运行作业的NodeManager;MapReduce2.0架构MapReduce2.0架构确定了运行的节点后,作业马上向ResourceManger申请资源,资源被封装成Container的形式响应给应用,申请到资源后,ResourceManger马上在NodeManger上启动作业。所有任务运行完成后,ApplicationMaster向ResourceManager发出注销指令,结束整个应用程序的运行。MapReduce的执行流程MapReduce的执行流程下面以一个基于MapReduce的WordCount例子的执行流程来展示MapReduce的执行流程MapReduce的shuffle机制MapReduce的shuffle机制Shuffle是MapReduce框架中Map阶段与Reduce阶段之间数据传递的关键流程,其每个处理步骤都在不同的MapTask和ReduceTask节点上分布式地进行。具体而言,它负责将MapTask输出的结果数据发送给ReduceTask,并在这一过程中,根据Key对数据进行分区和排序。MapReduce的shuffle机制Shuffle的核心机制包括数据分区(Partition)、数据排序(Sort,根据Key进行排序)、数据缓存(Cache,使用缓存机制对数据进行局部合并)以及数据合并(Merge,经过缓存处理的数据最终需要进行合并)。YARN概述YARN简介YARN(YetAnotherResourceNegotiator,另一种资源协调者)是一个通用资源管理系统和调度平台,可以为上层应用提供统一的资源管理和调度,它的引入为集群在资源利用率、资源统一管理和数据共享等方面带来了巨大的好处。基于YARN的计算框架YARN与运行的用户程序完全解耦,只提供运算资源的调度,即用户程序向YARN申请资源,YARN负责分配资源。在YARN上,可以运行各种类型的分布式运算程序YARN的特点(1)资源管理与计算框架解耦设计,将一个集群资源共享给上层各个计算框架,并按需分配,大幅度提高资源利用率。(2)运维成本显著下降,只需要运维一个集群,就可以同时运行满足多种业务需求的计算框架。(3)集群内数据共享一致,数据不再需要在集群间复制转移,达到共享互用的目的。(4)避免了单点故障集群资源扩展的问题。YARN的基本框架YARN的基本框架基本框架由一个ResourceManager与多个NodeManager组成,构成了一个新的通用系统,实现了以分布式管理应用程序的系统。ResourceManager负责对全局资源进行统一的管理和调度。每个应用程序对应一个ApplicationMaster,YARN会为每个任务分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家具加工厂管理制度
- 家政实训室管理制度
- 应急室物资管理制度
- 形体实训室管理制度
- 循环水检测管理制度
- 心理拓展区管理制度
- 心脏超声室管理制度
- 快递站消防管理制度
- 急性脑卒中管理制度
- 总校部经费管理制度
- 女性美学课堂企业制定与实施新质生产力项目商业计划书
- 高端私人定制服务方案
- 2025年保密知识竞赛考试题库300题(含答案)
- 部编版2024-2025学年四年级下册语文期末测试卷(含答案)
- 2025年医保政策考试题库及答案:基础解读与医保政策法规试题试卷
- 肿瘤日间化疗规范化管理
- 2025至2030年中国液化设备行业投资前景及策略咨询研究报告
- 湖北省武汉市部分重点中学2022-2023学年高一下学期期末联考数学 含解析
- 行政-接机流程及礼仪(定稿)
- DB44-T 2579-2024 岭南传统天灸技术操作规范
- 中国成人呼吸系统疾病家庭氧疗指南(2024年)解读课件
评论
0/150
提交评论