Hadoop源码分析一架构关系简介

1、 简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构

Hadoop起源于谷歌发布的三篇论文:GFS、MapReduce、BigTable。其中GFS是谷歌的分布式文件存储系统,MapReduce是基于这个分布式文件存储系统的一个计算框架,BigTable是一个分布式的数据库。hadoop实现了论文GFS和MapReduce中的内容,Hbase的实现了参考了论文BigTable。

2、 hadoop架构

hadoop主要有三个组件

HDFS、YARN和MapReduce。其中YARN是hadoop2.x版本推出的。本文基于hadoop2.7.6分析。

HDFS是基于谷歌的GFS实现的,它是一个分布式的文件系统。YARN是一个资源管理系统,主要负责管理集群内的cpu和内存等资源,为MapReduce等计算任务分配资源。MapReduce即上文提到的计算框架。

hadoop的这三个组件间的关系如下图:

Hadoop源码分析一架构关系简介_第1张图片

在hadoop1.x中YARN和MapReduce是集成在一起的,没有单独的资源管理,MapReduce执行时需要的资源由其自身的服务来确定。在2.x版本后将资源管理独立了出来,将资源管理和计算进行解耦合,使得大数据的其他计算框架也可以使用hadoop的资源管理系统。这样可以保证集群内的资源的统一调配。

3、 源码分析思路

在分析hadoop之前需要配置部署一个hadoop平台

然后先从hdfs开始分析,hdfs是yarn和MapReduce的根基。

hdfs是一个文件系统,它涉及的角色较多,主要会先从namenode开始解析,namenode属于hdfs的中心节点,hdfs的所有角色都与其有交互。

解析namenode,首先需要解析其启动过程,namenode的启动过程较为复杂,与其他角色也有交互,所以在这个过程中也会解析其他的角色与节点。

然后使用一个文件的上传与下载,来解析hdfs的文件操作。

解析完了hdfs之后在继续解析yarn和MapReduce,因为者两个原本就是在一起协同工作的,所以解析这两个的时候需要一起解析。解析yarn和MapReduce的时候,使用一个MapReduce程序,以其在整个框架中的执行流程来分析这个两个框架。

以上就是Hadoop源码分析一架构关系简介的详细内容,本系列下一篇文章传送门Hadoop源码分析二安装配置过程详解

后续Hadoop源码分析系列文章的资料请持续关注脚本之家!

你可能感兴趣的