Hadoop的三大结构及各自的作用?
1.HDFS 作用:
-
存储海量数据,支持高容错(数据自动备份)和高吞吐量(适合大文件读写)。
-
采用主从架构:
-
NameNode:管理文件系统的元数据(如文件目录结构)。
-
DataNode:存储实际数据块(默认128MB/块,3副本)。
-
适用场景:
-
存储日志、视频、大型数据集等非结构化或半结构化数据。
2.YARN 作用:
-
资源管理:统一分配集群的CPU、内存等资源。
-
任务调度:支持多种计算框架(如MapReduce、Spark、Flink)在同一个集群上运行。
-
核心组件:
-
ResourceManager(RM):全局资源调度。
-
NodeManager(NM):单节点资源管理。
-
ApplicationMaster(AM):单个作业的任务协调。
-
优势:
-
提高集群资源利用率,避免传统MapReduce的单一任务调度瓶颈。
3.MapReduce 作用:
-
分布式批处理计算框架,通过
Map
和Reduce
两个阶段处理数据。-
Map阶段:并行处理输入数据,生成键值对(
<key, value>
)。 -
Reduce阶段:汇总Map的结果,输出最终数据。
-
特点:
-
高容错:自动处理节点故障。
-
离线计算:适合大规模静态数据集(如日志分析、ETL)。
示例:
-
词频统计(WordCount)、数据清洗、聚合分析等。