HDFS原理——HDFS就是一个情报组织(part1)

声明:本博文图片来自于网络,有关专业术语的标准解释参考《Hadoop权威指南》中文第二版。欢迎大家关注我的大数据专栏https://blog.csdn.net/column/details/23027.html

HDFS作为Hadoop两大构成部分之一,是Hadoop自带的分布式文件系统,以流式数据访问形式来存储大文件。以下是HDFS的架构图
这里写图片描述
这个架构图,我认为完全可以将它看作一个间谍特工组织。可以讲一个美剧中常有的故事来说,美国CIA拥有强大的间谍情报网络,并且在不同的国家都有隐蔽的情报组织。CIA在不同国家的情报组织名字均为NameNode,也就是的很多NameNode情报组织共同构成了联邦HDFS(这个名词,Hadoop集群真实存在,笑!)。原文是这么说,联邦HDFS是允许添加NameNode进行扩展的。那么继续讲基层情报组织NameNode的构成,这个组织里所有的特工都被称作DataNode。NameNode负责所有的特工DataNode的出勤记录,行动发布以及所有的情报(维护着文件系统的目录和文件)。NameNode自然有它下属特工的个人信息(DataNode中每一块的数据节点信息),而特工DataNode从这个国家获取情报,就像DataNode从磁盘上读取块的过程,类似于计算机取址的过程,对于访问频繁的文件,DataNode将它缓存DataNode的内存中。
简单汇总一下情报组织的结构,就是组织管理特工们的所有事情,特工们也无条件服从领导。那既然是严密的组织,既然是搞间谍工作,如果哪个特工出意外怎么办(DataNode 宕机掉),那么情报组织会将此特工的情报除名,并将其获取的情报(datanode的数据)给新特工(备份到新的datanode中)。
既然建立情报组织,就要考虑到情报组织覆灭的恶劣情形。SecondaryNameNode(或者CheckPointNode)就是这样的角色。当美情报局CIA连续一段时间内联系不到基层情报组织NameNode时(就是确认NameNode是否失效,确认需要时间),就确定此NameNode已经被摧毁,进行切割(就是删除),启动备用的NameNode——SecondNameNode。所以SecondNameNode的任务就是将NameNode中的所有情报(数据)进行热备份
,以及定期将NameNode本身的运行日志和元数据镜像文件传输给NameNode。可以看作是做我情报组织助理,并在情报组织被摧毁时立刻作为备份建立新的情报组织。
其实间谍是谨言慎行的工作,当总部长时间无法确定基层组织NameNode是否被策反,并有很大风险被出卖时,总部往往会慎重的采取果断的决定,解散基层情报组织并让此组织的特工都消失,极端行为就是毙了。HDFS系统也有类似的功能,叫做故障转移和规避。转移就是用到上面的热备份,规避就是后者直接毙了。
总起来理一下
NameNode——组织,不受质疑的领导权
DataNode——特工,无条件服从NameNode,同时从磁盘获取情报
SecondaryNameNode——助理处理日志和基本情报文件,实时备份。
Client——(上文没提及)相当于美联邦CIA高官,可以从特工DataNode和组织NameNodetong同时获取情报,交换数据。
好了以上就是简单的HDFS介绍,接下来会介绍特工之间以及特工和情报组织之间秘密的联系方式以及他们之间不可告人的事情。

猜你喜欢

转载自blog.csdn.net/handoking/article/details/80626825