hadoop包括三部分
- HDFS文件分布式存储
- MapReduce
- YARN
HDFS原理
- 管家节点NameNode(只有一个namenode节点)用来保存各个节点的存储情况,以及所有文件的文件路径(文件树),而且保存日志。有点类似于fastdfs的tracker节点。但是如果namenode宕机,HDFS就无法提供服务,fastdfs是有很多的tracker平等地位。HDFS是还有SecondaryNode对NameNode进行备份。
- 存储节点datanode负责保存文件,需要不断的与namenode节点通信,来告知其自己的信息,方便nameode来管控整个系统。
MapReduce
MapReduce又分为Map和Reduce。Map负责把大任务划分为多个子任务,Reduce负责把多个子任务的执行结果汇总成为总结果。
map把复杂的任务分解为若干个“简单的任务”来处理。“简单的任务”包含三层含义:
- 一是数据或计算的规模相对原任务要大大缩小;
- 二是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算;
- 三是这些小任务可以并行计算,彼此间几乎没有依赖关系。