anyuan2002.com - vwin网

查找: 您的方位主页 > 网络频道 > 阅览资讯:HDFS架构原理

HDFS架构原理

2019-04-01 08:01:06 来历:www.anyuan2002.com 【

HDFS选用master/slave架构。一个HDFS集群包含一个独自的NameNode和多个DataNode。

NameNode作为master服务,它担任办理文件体系的命名空间和客户端对文件的拜访。NameNode会保存文件体系的详细信息,包含文件信息、文件被分割成详细block块的信息、以及每一个block块归属的DataNode的信息。关于整个集群来说,HDFS经过NameNode对用户供给了一个单一的命名空间。

DataNode作为slave服务,在集群中可以存在多个。一般每一个DataNode都对应于一个物理节点。DataNode担任办理节点上它们具有的存储,它将存储划分为多个block块,办理block块信息,一起周期性的将其一切的block块信息发送给NameNode。

下图为HDFS体系架构图,首要有三个人物,Client、NameNode、DataNode。

 

HDFS架构原理

 

文件写入时:

Client向NameNode建议文件写入的恳求。

NameNode依据文件巨细和文件块装备状况,回来给Client它所办理部分DataNode的信息。

Client将文件划分为多个block块,并依据DataNode的地址信息,按次序写入到每一个DataNode块中。

当文件读取:

Client向NameNode建议文件读取的恳求。

NameNode回来文件存储的block块信息、及其block块地点DataNode的信息。

Client读取文件信息。

HDFS 数据备份

HDFS被规划成一个可以在大集群中、跨机器、牢靠的存储海量数据的结构。它将一切文件存储成block块组成的序列,除了终究一个block块,一切的block块巨细都是相同的。文件的一切block块都会由于容错而被仿制。每个文件的block块巨细和容错仿制份数都是可装备的。容错仿制份数可以在文件创立时装备,后期也可以修正。HDFS中的文件默许规则是write one(一次写、屡次读)的,而且严格要求在任何时候只要一个writer。NameNode担任办理block块的仿制,它周期性地接纳集群中一切DataNode的心跳数据包和Blockreport。心跳包表明DataNode正常作业,Blockreport描绘了该DataNode上一切的block组成的列表。

 

HDFS架构原理

 

备份数据的寄存:

备份数据的寄存是HDFS牢靠性和功用的要害。HDFS选用一种称为rack-aware的战略来决议备份数据的寄存。经过一个称为Rack Awareness的进程,NameNode决议每个DataNode所属rack id。缺省状况下,一个block块会有三个备份,一个在NameNode指定的DataNode上,一个在指定DataNode非同一rack的DataNode上,一个在指定DataNode同一rack的DataNode上。这种战略归纳考虑了同一rack失效、以及不同rack之间数据仿制功用问题。

副本的挑选:

为了下降全体的带宽耗费和读取延时,HDFS会尽量读取最近的副本。假如在同一个rack上有一个副本,那么就读该副本。假如一个HDFS集群跨过多个数据中心,那么将首要测验读本地数据中心的副本。

安全形式:

体系发动后先进入安全形式,此刻体系中的内容不允许修正和删去,直到安全形式完毕。安全形式首要是为了发动查看各个DataNode上数据块的安全性。

MapReduce

MapReduce 来历

MapReduce是由Google在一篇论文中提出并广为流传的。它最早是Google提出的一个软件架构,用于大规模数据集群分布式运算。使命的分化(Map)与成果的汇总(Reduce)是其首要思维。Map便是将一个使命分化成多个使命,Reduce便是将分化后多使命别离处理,并将成果汇总为终究成果。了解Function Language的人必定感觉很了解,不是什么新的思维。

MapReduce 处理流程

 

HDFS架构原理

 

 

HDFS架构原理

 

 

上图便是MapReduce大致的处理流程。在Map之前,或许还有对输入数据的Split进程以确保使命并行功率,在Map之后或许还有Shuffle进程来进步Reduce的功率以及减小数据传输的压力。

Hadoop

Hadoop被定位为一个易于运用的渠道,以HDFS、MapReduce为根底,可以运转上千台PCServer组成的体系集群,并以一种牢靠、容错的方法分布式处理恳求。

Hadoop 布置

下图显现Hadoop布置结构示意图

 

HDFS架构原理

 

在Hadoop的体系中,会有一台master,首要担任NameNode的作业以及JobTracker的作业。JobTracker的首要职责便是发动、盯梢和调度各个Slave的使命履行。还会有多台slave,每一台slave一般具有DataNode的功用并担任TaskTracker的作业。TaskTracker依据运用要求来结合本地数据履行Map使命以及Reduce使命。

Hadoop 处理流程

在描绘Hadoop处理流程之前,先提一个分布式核算最为重要的规划准则:Moving Computation is Cheaper than Moving Data。意思是指在分布式核算中,移动核算的价值总是低于移动数据的价值。本地核算运用本地数据,然后汇总才干确保分布式核算的高效性。

下图所示Hadoop处理流程:

 

HDFS架构原理

 

 

 

 

 
 

本文地址:http://www.anyuan2002.com/a/question/100206.html
Tags: 架构 原理 hdfs
修改:vwin网
关于咱们 | 联络咱们 | 友情链接 | 网站地图 | Sitemap | App | 回来顶部