Hadoop 总结 一 入门介绍
1.1 是什么?
- Apache基金会的 分布式系统基础架构
- 应用于海量数据的存储,分析,计算的问题
- 广义上讲,Hadoop通常指----Hadoop生态圈,类似Java开发中所指的spring,及spring全家桶的概念.
1.2 Hadoop优势
- 高可靠性:Hadoop底层维护多个数据副本存在于不同的DataNode上,所以可能有节点挂掉,也不会导致数据丢失,这里排除绝对的意外情况,比如自然灾害,或者人为因素.
- 高扩展性:在集群中分配任务数据,可以方便的扩展大量的节点.
- 高效性:在MapReduce的设计思想下,Hadoop是并行进行计算工作的,以加快任务的处理速度.
- 高容错性:能在执行失败的任务自动的重新分配.
1.3 Hadoop的组成结构
-
Hadoop 1.x版本
MapReduce:进行计算+资源调度
HDFS:数据存储
Common:辅助工具集
-
Hadoop 2.x版本及Hadoop3.x
MapReduce:计算
Yarn:资源调度,从1.x的版本中的MapReduce分离出来,程序的分工更加细致,耦合性进一步降低
HDFS:数据存储
Common:数据集
1.4 HDFS架构简介
- NameNode(nn):存储文件的元数据,文件名,目录结构,属性,生成时间,副本数,块数,权限,块所在节点等
- DataNode(dn):在系统节点中存储文件块数据,以及块数据的校验和,上报块信息等
- secondary NameNode(2nn):每隔一段时间对NameNode(nn)进行元数据备份
1.5 Yarn架构简介
-
ResourceManager(rm):
处理客户端请求
监控nodeManager
启动或监控applicationMaster
资源的分配与调度
-
NodeManager(nm):
管理各个节点上的资源
处理来自ResourceManager命令
处理来自ApplicationMaster的命令
-
ApplicationMaster(am):
负责数据的切分
为应用程序申请资源并分配给内部的任务
任务的监控与容错
-
Container:
container是yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存,cpu,磁盘,网络IO资源等
1.6 MapReduce架构简介
-
阶段一:map阶段
map阶段并行处理输入的数据
-
阶段二:reduce阶段
reduce阶段对map阶段的处理结果进行汇总处理