设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 大数据 > 正文

终于有人把Hadoop大数据系统架构讲清楚了

发布时间:2022-08-23 12:54 所属栏目:125 来源:互联网
导读:传统的系统已无法处理结构多变的大数据,而高性能硬件和专用服务器价格昂贵且不灵活,Hadoop因此应运而生。Hadoop使用互连的廉价商业硬件,通过数百甚至数千个低成本服务器协同工作,可有效存储和处理大量数据。 1.Hadoop生态体系 Google通过三篇重量级论文
  传统的系统已无法处理结构多变的大数据,而高性能硬件和专用服务器价格昂贵且不灵活,Hadoop因此应运而生。Hadoop使用互连的廉价商业硬件,通过数百甚至数千个低成本服务器协同工作,可有效存储和处理大量数据。
 
  1.Hadoop生态体系
  Google通过三篇重量级论文为大数据时代提供了三项革命性技术:GFS、MapReduce和BigTable,即所谓的Google大数据的“三驾马车”。
 
  GFS(Google File System)是Google面向大规模数据密集型应用的、可伸缩的分布式文件系统,可在廉价的硬件上运行,并具有可靠的容错能力。
  MapReduce是一种并行编程模式,可以在超大分布式集群上并行运算,对超大规模数据集进行处理。
  BigTable是在GFS上构建的处理结构化数据的分布式数据库,可以用于处理海量数据的更新和随机查询。
  Hadoop和Hbase是基于这三项技术发展出的开源实现。在大数据分析和处理领域,Hadoop兼容体系已经成为一个非常成熟的生态圈,涵盖了很多大数据相关的基础组件,包括Hadoop、Hbase、Hive、Spark、Flink、Storm、Presto、Impala等。
 
  2.Hadoop集群硬件架构
  Hadoop集群遵循主从架构,由一个或多个主节点(控制节点)和大量从节点组成,可以通过增减节点实现线性水平扩展。集群中的每个节点都有自己的磁盘、内存、处理器和带宽。主节点负责存储元数据,管理整个集群中的资源,并将任务分配给从节点;从节点负责存储数据并执行计算任务。
 
  Hadoop包含三大组件:HDFS、Yarn和MapReduce。HDFS负责将文件切分为固定大小的数据块,以多副本分布式方式进行存储。Yarn是资源管理器,通过不同的进程执行资源管理和任务调度/监控任务。MapReduce是计算层,它通过将数据处理逻辑抽象为Map任务和Reduce任务,将“计算”在贴近数据存储位置并行执行。
 
  Hadoop集群硬件架构如图1所示,具体的组件部署结构分析如下。
 
  主节点上:部署HDFS的NameNode组件,管理命名空间,管理客户端对文件的访问,负责跟踪数据块到DataNode的映射;部署Yarn的ResourceManager组件,管理整个集群中的资源。

  每层的功能具体说明如下。
 
  (1)分布式存储层
 
  HDFS是一个分布式文件存储系统,它将统一管理整个集群的所有存储空间,并将写入的数据切分成相同大小的数据块,每个数据块保存多个副本(通常是三个),每个副本存储在不同的从节点上,以避免因单节点故障造成数据丢失。HDFS主节点(NameNode)保存命名空间、文件名、每个数据块及所有副本的元数据信息。

  (2)分布式计算资源管理层
 
  YARN(Yet Another Resource Negotiator)是一个资源协商器,它将统一管理和调度整个集群的计算资源,并将接收到的计算任务拆分到各个节点执行。如果一个节点运行缓慢或失败,YARN会将节点上的任务取消,然后分发到数据的其他副本所在节点进行运算。YARN作为资源协商器,可以让大量的应用程序和用户有效地共享集群计算资源,即支持多租户,这些数据处理可以是批处理、实时处理、迭代处理等。
 
  最初,Hadoop由MapReduce组件同时负责资源管理和数据处理。Hadoop 2.0引入了YARN后将这两个功能分开。基于YARN,我们为Hadoop编写的不同组件可以非常方便地集成到Hadoop生态系统中,例如Spark、Giraph、Hive等项目,以及MapReduce本身。
 
  YARN框架内有ResourceManager、NodeManager组件:ResourceManager在集群的主节点上运行,负责接收计算任务,并在所有竞争应用程序之间做资源分配;NodeManager在从节点上运行,负责容器,监视资源(CPU、内存、磁盘、网络)使用情况。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读