【赵渝强老师】Hadoop生态圈组件

2024-08-12 15:21:43 浏览数 (2)

  下图为大家展示了Hadoop生态圈体系中的主要组件以及它们彼此之间的关系。

  视频讲解如下:

视频内容

  这里先简单说明每一个组件的作用功能。

一、HDFS

  它的全称是Hadoop Distributed File System,它是Hadoop分布式文件系统,用于解决大数据的存储问题。HDFS源自于Google的GFS论文,可用于运行在低成本的通用硬件上,是一个具有容错的文件系统。

二、HBase

  基于HDFS之上的分布式列式存储NoSQL数据库,起源于Google的BigTable思想。由于HBase的底层是HDFS,因此HBase中创建的表和表中数据最终都是存储在HDFS上。HBase的核心是列式存储,它适合执行查询操作。

三、MapReduce与Yarn

  MapReduce是一种分布式计算模型,用以进行大数据量的计算,它是一种离线计算处理模型。MapReduce通过Map和Reduce两个阶段的划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。通过MapReduce既可以处理HDFS中的数据,也可以处理HBase中的数据。

  Yarn(Yet Another Resource Negotiator,另一种资源协调者)是 Hadoop集群中的资源管理器。从Hadoop 2.x开始,MapReduce默认都是运行在Yarn之上。

在Hadoop的安装包中已经集成了HDFS与Yarn。因此Hadoop安装成功后,可以直接执行MapReduce任务处理HDFS的数据。

四、数据分析引擎Hive与Pig

  Hive是基于HDFS之上的数据仓库,支持标准的SQL语句。默认情况下,Hive的执行引擎是MapReduce。Hive可以把一条标准的SQL转换成是MapReduce任务运行在Yarn之上。

  Pig也是Hadoop中的数据分析引擎,支持PigLatin语句。默认情况下,Pig的执行引擎也是MapReduce。Pig允许处理结构化数据和半结构化数据。

Hive和Pig的执行引擎也可以是Spark,即:Hive on Spark和Pig on Spark。

五、数据采集引擎Sqoop和Flume

  Sqoop的全称是SQL to Hadoop,它是一个数据交换工具,主要针对的关系型数据库,例如:Oracle、MySQL等。Sqoop数据交换的本质上是Mapreduce程序,它充分利用了MapReduce的并行化和容错性,从而提高了数据交换的性能。

  Flume是一个分布式的、可靠的、可用的日志收集服务组件。它可以高效地收集、聚合、移动大量的日志日志数据。

Flume进行日志采集的过程其本质并不是MapReduce任务。

六、分布式协调服务ZooKeeper

  ZooKeeper可以当成是一个“数据库”来使用,主要解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。同时在大数据架构中,利用ZooKeeper可以解决大数据主从架构的单点故障问题实现大数据的高可用性。

七、集成管理工具HUE

  HUE是基于Web形式发布的集成管理工具,可以与大数据相关组件进行集成。通过HUE可以管理Hadoop中的相关组件,也可以管理Spark中的相关组件。

0 人点赞