🐇明明跟你说过:个人主页
🏅个人专栏:《大数据前沿:技术与应用并进》🏅
🔖行路有良友,便是天堂🔖
目录
二、Hadoop Distributed File System (HDFS) 深度解析
三、Yet Another Resource Negotiator (YARN) 架构剖析
一、引言
1、Hadoop简介
Hadoop 是一个开源的分布式计算框架,主要用于处理和存储大量数据。它由 Apache 软件基金会开发,基于 Google 的 MapReduce 和 Google 文件系统 (GFS) 的理念设计。Hadoop 提供了一种可扩展、容错的方式来处理大规模数据集,使得用户能够在廉价的硬件上进行分布式计算。
2、Hadoop生态系统概览
Hadoop 生态系统是围绕 Hadoop 分布式计算框架所建立的一系列工具和技术的集合。这些工具涵盖了数据存储、数据处理、数据管理、数据分析等多个方面,旨在帮助用户处理和分析大规模数据集。
1. 数据存储与管理
HDFS (Hadoop Distributed File System):
- Hadoop 分布式文件系统,用于存储大规模数据,具备高容错性和高吞吐量。
HBase:
- 一个基于列存储的分布式数据库,适合处理大规模结构化数据,支持实时读写。
Hive:
- 一个数据仓库工具,可以将结构化数据映射为表,支持使用类似 SQL 的查询语言 HiveQL 进行查询。
HCatalog:
- Hive 的元数据管理服务,帮助不同 Hadoop 工具(如 Pig、MapReduce)之间共享数据元数据。
HCFS (Hadoop Compatible File System):
- 支持与 HDFS 兼容的第三方文件系统,如 Amazon S3。
2. 数据处理
MapReduce:
- Hadoop 的核心分布式计算框架,负责大规模数据的并行处理。
YARN (Yet Another Resource Negotiator):
- 资源管理框架,负责集群资源的分配和任务调度,支持多种计算模型。
Tez:
- 一种基于 DAG(有向无环图)的计算框架,作为 MapReduce 的更高效替代方案。
Spark:
- 一个内存计算框架,比 MapReduce 更快,支持实时数据处理和复杂计算任务。
Pig:
- 一个数据流处理工具,使用 Pig Latin 语言编写数据分析任务,适合处理非结构化和半结构化数据。
Flink:
- 一个分布式流处理框架,支持流式和批处理数据的实时计算。
3. 数据分析与查询
Hive:
- 前面提到的 Hive 也属于数据分析工具,可以通过 SQL 查询大规模数据。
Impala:
- 由 Cloudera 开发的一个分布式 SQL 查询引擎,提供快速的查询能力,适合交互式分析。
Drill:
- 一个低延迟查询引擎,支持各种数据源(如 HDFS、HBase、NoSQL 等)的查询。
Phoenix:
- 用于 HBase 的 SQL 查询引擎,支持低延迟的查询操作。
Kylin:
- 一个分布式数据仓库引擎,支持多维分析和 OLAP 查询,适合大规模数据集的分析。
4. 数据流处理
Storm:
- 实时流处理框架,适合低延迟处理和分布式计算任务。
Kafka:
- 一个分布式消息队列系统,支持高吞吐量的消息发布与订阅,广泛用于实时数据流处理。
Flink:
- 既支持流式处理又支持批处理的数据处理框架,提供低延迟的实时计算。