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

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

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

背景

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

hadoop基础架构

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

HDFS架构

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

  • Client
  • NameNode
  • SecondaryNameNode
  • DataNode

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

图1-1 HDFS架构图

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

  1. Client

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

  1. NameNode

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

  1. Secondary NameNode

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

  1. DateNode

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

小结

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

posted @ 2020-01-13 15:17  小码识途  阅读(555)  评论(0编辑  收藏  举报