理论教育 Hadoop生态系统简述

Hadoop生态系统简述

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

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 任务运行。(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 等的集中管理。

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

我要反馈