Hadoop 简介
什么是Hadoop?
Hadoop是一个开源的分布式计算框架,旨在处理大规模数据集。它最初由Apache软件基金会开发,灵感来源于Google的MapReduce和Google文件系统(GFS)。Hadoop的核心设计目标是能够在廉价的硬件集群上高效地存储和处理海量数据。
Hadoop的主要优势在于其可扩展性和容错性。它能够将数据分布到多个节点上进行并行处理,即使某些节点发生故障,系统仍能继续运行。
Hadoop 的核心组件
Hadoop生态系统由多个核心组件组成,以下是其中最重要的几个:
-
HDFS(Hadoop Distributed File System)
HDFS是Hadoop的分布式文件系统,用于存储大规模数据集。它将文件分割成多个块,并将这些块分布到集群中的不同节点上。 -
MapReduce
MapReduce是Hadoop的计算模型,用于并行处理大规模数据集。它将任务分为两个阶段:Map(映射)和Reduce(归约)。 -
YARN(Yet Another Resource Negotiator)
YARN是Hadoop的资源管理框架,负责集群资源的调度和管理。 -
Hadoop Common
这是Hadoop的核心库,提供了其他组件所需的基础工具和功能。
HDFS的工作原理
HDFS采用主从架构,包含以下两个关键角色:
- NameNode:负责管理文件系统的元数据,例如文件目录结构和块的位置。
- DataNode:负责存储实际的数据块。
以下是一个简单的HDFS文件存储示意图:
备注
HDFS默认将每个文件分割成128MB的块(可配置),并将这些块复制到多个DataNode上以实现容错。