评论

收藏

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

编程语言 编程语言 发布于:2021-12-17 23:51 | 阅读数:494 | 评论:0

本篇是Hadoop源码分析系列文章第一篇,主要介绍一下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的这三个组件间的关系如下图:
DSC0000.png

在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源码分析系列文章的资料请持续关注CodeAE代码之家
原文链接:https://blog.csdn.net/qq_39210987/article/details/113921860

关注下面的标签,发现更多相似文章