hadoop入门分析- 基本架构

Posted yixinli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop入门分析- 基本架构相关的知识,希望对你有一定的参考价值。

hadoop入门分析(一)- 基本架构

? 这里呢我们将简单的对大数据进行一个初步的认识,毕竟大家都知道,无论是学习一项新技术还是一项新的什么其他的技能,光靠死记硬背是很难背下来的。重要的是对于你要掌握的东西的一个理解,有了理解,那就容易多了不是。所以人狠话不多,废话不多说,接下来就和大家一起探讨下大数据的基本架构。

背景

? 背景就不多赘述了,相信很多朋友也不愿意过多了解这个历史,这里还是主要感谢膜拜那些大老前辈吧,主要是Google发的paper以及Nutch项目组对于其分布式文件系统的实现和MapReduce的paper实现。为hadoop的问世奠定了基础。

hadoop基础架构

首先,hadoop是由两部分组成。**分布式文件系统(HDFS)**和**MapReduce即分布式计算框架**构成。说白了呢,对于大数据hadoop这两部分对应的分别解决了两个问题,**数据的存储**以及**数据的处理**。并且底层的分布式文件系统是可独立的,也就是说有能力的用户可以做对文件系统做一个**私人定制化**,对接MapReduce时只需经过简单的配置,就能对接该文件系统。这就很人性化个性化了。接下来我们就主要研究一下这两部分。

HDFS架构

? hdfs呢主要是靠磁盘,用现在的话就是罗机器,从而提高了数据的吞吐量,适合大规模数据集上的应用。架构上来讲主要是采用了master/slave架构。分为以下组件

  • Client
  • NameNode
  • SecondaryNameNode
  • DataNode

先看一张HDFS的基本架构图,如图1-1所示:

技术图片

? 图1-1 HDFS架构图

接下来分别了解一下以上四个组件:

1) Client

? Client也就是用户可以通过与NameNode和DataNode交互从从而访问HDFS的文件。其实就是对外提供了访问整个文件系统的接口。

2) NameNode

这一组件相当于整个系统的管家,主要负责管理HDFS的目录树和相关文件元数据信息。而这些信息是以fsimage(HDFS元数据镜像文件)和editlog(HDFS文件改动日志)两个文件存在本地磁盘的。同时从图中也可以看到,NameNode还负责检测各个DateNode的健康信息,一但有挂掉的。则将其移除HDFS并重新备份挂掉的数据。

3) Secondary NameNode

图中可以看出该组件和NameNode有一定交互,其实Secondary NameNode在这里主要对fsimage和editlog进行合并,并传给NameNode,从而降低NameNode压力。

4) DateNode

一般讲,每个Slave节点安装一个DateNode,负责真正的数据存储,定期向NameNode汇报数据信息,看图可以看出存储有一些特点。当用户上传大文件时分成block进行存储,默认是64mb一个block,不同hadoop版本也可能不同。并且为了数据可靠性将block进行数据备份,如图,默认备份3份也可自行配置,写到不同的DateNode上,这一过程对用户来讲是透明的。

小结

这篇主要记录了hadoop的一个全貌,分为两大部分HDFS,MapReduce。其中对HDFS进行了一些架构的介绍,后面还会对我们的MapReduce的架构以及编程的模型进行细致的分析,做到知其所以然。由于能力有限,文章中出现的一些纰漏错误或者有什么交流的地方都欢迎留言,希望我们彼此都能够有所收获。

以上是关于hadoop入门分析- 基本架构的主要内容,如果未能解决你的问题,请参考以下文章

Flume+Hadoop+Hive的离线分析系统基本架构

Flume+Hadoop+Hive的离线分析系统基本架构

大数据—Hadoop(入门篇一)

Hive入门学习--Hadoop简介

Hadoop 入门笔记—核心组件 YARN

Hadoop入门