Hadoop 是一个用于存储和处理大规模数据集(大数据)的分布式存储和分布式计算平台。它由 Apache 软件基金会维护,并基于 Java 编程语言编写。Hadoop 的核心设计理念是能够在普通硬件上运行,并且能够处理非常大的数据集。狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态 圈,包括很多其他软件框架
Hadoop 框架主要包括以下几个核心组件:
- Hadoop Distributed File System (HDFS): HDFS 是一个高度容错的分布式文件系统,它能够存储大量数据,并且提供高吞吐率的数据访问,特别是对大型文件的读写访问。HDFS 将数据分散存储在多台计算机上,形成一个逻辑上的单一文件系统。
- Yet Another Resource Negotiator (YARN): YARN 是 Hadoop 2.x 引入的资源管理层,它负责管理计算资源,并为运行在 Hadoop 集群上的应用程序分配资源。YARN 的引入使得 Hadoop 能够更有效地利用集群资源,并支持多种数据处理框架。
- MapReduce: MapReduce 是一种编程模型,用于并行处理大量数据。在 MapReduce 中,数据被分成小块,然后由多个 map 任务处理,处理完后的结果再由 reduce 任务合并。MapReduce 是 Hadoop 早期的核心组成部分,但在 Hadoop 2.x 中,MapReduce 成为了 YARN 上的一个应用程序。
除了这些核心组件,Hadoop 生态系统还包括许多其他的项目和工具,如: