Hadoop 和 Spark 的核心组件及基本概念的系统性介绍

下面是对 HadoopSpark 的核心组件及基本概念的系统性介绍,适用于大数据平台的入门与架构理解:


一、Hadoop 介绍

1. Hadoop 定义

Apache Hadoop 是一个 分布式计算平台,可以在由普通服务器组成的集群中高效地存储和处理海量数据。


2. Hadoop 核心组件

组件作用核心子模块
HDFS (Hadoop Distributed File System)分布式文件系统,存储大数据NameNode、DataNode
YARN (Yet Another Resource Negotiator)集群资源管理与任务调度框架ResourceManager、NodeManager
MapReduce分布式计算模型,基于 Java 实现的批处理框架JobTracker(早期)、ApplicationMaster
Common提供 Hadoop 各组件所需的共享工具和 Java 库配置文件、序列化、RPC 等基础

3. HDFS 关键概念

  • Block(块):HDFS 将文件拆分成固定大小的数据块(默认 128MB),分散存储在集群中。
  • NameNode:存储元数据(文件目录、块位置、权限等),是 HDFS 的主控节点。
  • DataNode:存储真实数据块,执行读写请求。
  • 副本机制(Replication):默认每个块保存 3 份副本,提升容错性。

4. YARN 关键概念

  • ResourceManager:管理全局资源,接收应用提交并分配资源。
  • NodeManager:每个节点的本地资源管理器,负责执行任务容器。
  • ApplicationMaster:每个应用独立的任务调度器和协调者,按需向 RM 申请资源。

5. MapReduce 简要流程

  1. 将输入数据切分为 splits。
  2. 启动 map 任务对每个 split 进行处理,输出中间键值对(key, value)。
  3. 系统自动进行 shuffle 和 sort(按 key 分组)。
  4. reduce 任务对分组数据聚合计算,生成最终输出结果。

二、Spark 介绍

1. Spark 定义

Apache Spark 是一个 基于内存计算的分布式数据处理引擎,相比 Hadoop MapReduce 提供更高的性能,并支持多种计算模型(批处理、流处理、图计算、机器学习)。


2. Spark 核心组件

组件功能对应模块
Spark Core提供 RDD 等基础抽象与调度计算调度、内存管理
Spark SQL结构化数据处理,支持 SQL 查询DataFrame、Dataset API
Spark Streaming微批处理流计算DStream、Structured Streaming
MLlib分布式机器学习库分类、聚类、回归、推荐等
GraphX分布式图计算库图遍历、PageRank

3. Spark 架构组件

组件作用
Driver程序主控,负责 Job 的划分、调度
Executor任务执行进程,负责执行具体的 Task
Cluster Manager管理集群资源(支持 YARN、Standalone、Mesos、K8s)

4. 核心抽象:RDD(弹性分布式数据集)

  • 分布式、不可变、可并行的数据集合。
  • 支持 transformation(如 map、filter)和 action(如 count、collect)。
  • 具备容错机制(通过 Lineage 血统信息)。

5. Spark vs Hadoop MapReduce

比较项Hadoop MapReduceSpark
性能基于磁盘,慢基于内存,快
编程模型复杂(Map + Reduce)简洁(RDD、DataFrame)
容错机制数据块副本RDD 血统
执行引擎串行、多阶段中间落盘DAG 有向图调度,内存计算
实时能力支持流处理(Structured Streaming)

三、Hadoop 与 Spark 的协同关系

  • Spark 可以运行在 Hadoop YARN 上,复用 HDFS 存储。
  • Hadoop 提供底层资源调度与存储,Spark 提供更灵活高效的计算模型。
  • 常见组合:HDFS + YARN + Spark,实现计算存储分离与分布式大数据处理。

四、相关生态工具(Hadoop/Spark 共用或互补)

工具作用适配引擎
HiveSQL-on-Hadoop 查询引擎Hadoop/Spark
HBase分布式列式数据库Hadoop HDFS
Flink实时计算引擎替代 Spark Streaming
Oozie工作流调度器Hadoop
Zookeeper分布式协调服务Hadoop/Spark 组件协作
Presto/Trino高性能 SQL 查询引擎可连接 Hive/S3/HDFS
Airflow通用数据工作流调度Spark/Hadoop 作业编排

如需更进一步,例如具体的部署架构图、HDFS 读写流程、Spark DAG 执行过程、调优技巧、监控告警方案,我可以继续扩展说明。是否需要我帮你画出 Hadoop + Spark 的集群拓扑图 或整理 核心组件学习路线图

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值