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的这三个组件间的关系如下图:
在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源码分析系列文章的资料请持续关注脚本之家!
相关文章
Java多线程之scheduledThreadPool的方法解析
这篇文章主要介绍了Java多线程之scheduledThreadPool的方法解析,queue是DelayedWorkQueue,但通过后面的分析可以知道,最大线程数是不起作用的,最多会起核心线程数的数量,需要的朋友可以参考下2023-12-12SpringBoot如何使用feign实现远程接口调用和错误熔断
这篇文章主要介绍了SpringBoot如何使用feign实现远程接口调用和错误熔断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-12-12SpringBoot整合MyBatis四种常用的分页方式(详细总结)
这篇文章详细给大家总结了SpringBoot整合MyBatis四种常用的分页方式,文中通过代码示例为大家介绍的非常详细,需要的朋友可以参考下2023-07-07java Quartz定时器任务与Spring task定时的几种实现方法
本篇文章主要介绍了java Quartz定时器任务与Spring task定时的几种实现方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-02-02
最新评论