Hadoop之Hadoop基础知识
Hadoop之Hadoop基础知识复习
目录
- Hadoop是什么
- Hadoop的优势
- Hadoop组成
- 大数据技术生态体系
1. Hadoop是什么
1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
2)主要解决的是海量数据的存储和海量数据的分析计算问题。
3)广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈。
2. Hadoop的优势
1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4)高容错性:能够自动将失败的任务重新分配。
3. Hadoop组成
-
在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算,如下图所示:
-
HDFS架构概述
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode。
- DataNdoe(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
- Seconde NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
-
YARN架构概述
- ResourceManager(rm):处理客户端请求,启动/监控ApplicationManager,监控NodeManager,资源分配与调度;
- NodeManager(nm):单个节点上的资源管理,处理来自ResourceManager的命令,处理来自ApplicationMaster的命令。
- ApplicationMaster:数据切分,为应用程序申请资源,并分配给内部任务,任务监控与容错。
- Container:对任务运行环境的抽象,封装了CPU,内存等多维资源以及环境变量,启动命令等任务运行相关的信息。
-
MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce,如下图所示
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总