理论教育 Hadoop生态系统简述

Hadoop生态系统简述

更新时间:2025-09-01 理论教育 版权反馈
【摘要】:Hadoop 是一个能够对大量数据进行分布式处理的软件框架,具有可靠、高效、可伸缩的特点。通过允许对分布式数据集进行类似SQL 的查询,Pig 可以简化Hadoop的使用,目前在实际的生产中已使用的较少。

Hadoop 是一个能够对大量数据进行分布式处理的软件框架,具有可靠、高效、可伸缩的特点。Hadoop2.0 版本引入了HA(高可用)与Yarn(资源调度),这是与Hadoop1.0 的最大区别。Hadoop2.0 主要由3 部分组成:HDFS 分布式文件存储,MapReduce 编程模型和Yarn 资源管理

图1-1 Hadoop 生态系统图

由图1-1 可以看出,整个Hadoop 家族由以下几个子项目组成:

1. HDFS

HDFS 是Hadoop 平台的分布式文件储存系统,HDFS 集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS 具有高容错性、适合大数据批处理、可构建在廉价机器上等优点,缺点是不支持低延迟数据访问、小文件存取、并发写入、文件随机修改。

2. MapReduce

MapReduce 是一个计算模型,用于大规模数据集的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

3. ZooKeeper

ZooKeeper 是一个分布式应用程序协调服务,是Hadoop 和HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

4. HBase

HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存数据库,利用HBase 技术可在廉价机器上搭建起大规模结构化存储集群。

5. Hive

Hive 是基于Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL 查询功能,可以将SQL 语句转换为MapReduce 任务运行。(https://www.daowen.com)

6. Pig

Pig 是一个高级过程语言,适合于使用Hadoop 和MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似SQL 的查询,Pig 可以简化Hadoop的使用,目前在实际的生产中已使用的较少。

7. Mahout

Mahout 是个可扩展的机器学习和数据挖掘库,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用Apache Hadoop 库,Mahout 可以有效地扩展到云计算。

8. Sqoop

Sqoop 是一个用来进行数据相互转移的工具,可以将一个关系型数据库中的数据导入到Hadoop 的HDFS 或HBase,也可以将HDFS 或HBase 中的数据导入关系型数据库。

9. Flume

Flume 是Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume 支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume 提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

10. Chukwa

Chukwa 是一个开源的用于监控大型分布式系统的数据收集系统,构建在Hadoop的HDFS 和MapReduce 框架之上。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。

11. Oozie

Oozie 是管理Hadoop 作业工作流调度系统,以XML 的形式编写调度流程,可以调度MapReduce,Hive,Pig,shell,jar 等等,使用Oozie 协调器促进了相互依赖的重复工作之间的协调。

12. Ambari

Ambari 是一种基于Web 的工具,用于创建、管理、监视Hadoop 的集群,支持Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig 和Sqoop 等的集中管理。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈