导言
Hadoop是一个用于处理和存储大量数据的软件框架。它就像一个超级强大的工具,可以帮助我们处理海量的数据,而且它很擅长处理那些传统数据库难以处理的超大数据集。
Hadoop 的两个核心组件
HDFS(Hadoop Distributed File System)
作用:存储数据。
简单理解:想象你有一堆文件,这些文件太大了,单个硬盘装不下。HDFS 把这些文件分成很多小块,然后把这些小块分散存储在很多不同的机器(服务器)上。这样,即使某个机器坏了,数据也不会丢失,因为还有其他地方存了备份。
特点:
- 高容错性:即使部分机器故障,数据依然安全。
- 大规模数据存储:可以存储海量数据,从几TB到几PB甚至更多。
MapReduce
作用:处理数据。
简单理解:MapReduce 是一种编程模型,用来处理存储在 HDFS 中的数据。它通过两个主要步骤来完成任务:
- Map(映射):把数据分解成很多小任务,分配给不同的机器去处理。
- Reduce(归并):把处理结果汇总起来,得到最终结果。
特点:
- 并行处理:可以同时在很多机器上处理数据,大大提高了处理速度。
- 适合大数据:非常适合处理海量数据,尤其是那些需要大量计算的任务。
其实还有一个**YARN**
他就想是一个计算资源(CPU、内存)管家,负责调度和分配计算资源给MapReduce的任务来用,其实Spark、Flink任务也可以通过YARN来进行管理。
但这里不会涉及太多,YARN的知识在实际项目中用的不多,等到要用到的时候再了解也不晚。
那么现在你已经了解了Hadoop的基本构成了,总结下来就是由一个负责存储数据的仓库(hdfs),和一个负责处理数据的“团队”(MapReduce)组成,还有一个提供能源的管家(YARN)来给团队提供能源。