HDFS的基本概念和体系结构

2019-11-09  本文已影响0人  Michaelhbjian

1、HDFS的系统结构

cb2effc8389cc05bf5fcde353a07df49

2、NameNode

NameNode是Apache Hadoop HDFS体系结构中的主节点,用于维护和管理DataNode(从节点)上存在的块。NameNode是一个非常高可用性的服务器,用于管理文件系统命名空间并控制客户端对文件的访问。HDFS体系结构的构建方式使用户数据永远不会驻留在NameNode上。数据仅驻留在DataNodes上。

Functions of NameNode:

3、Secondary NameNode

第二名称节点(Secondary NameNode,SNN)是用于定期合并命名空间镜像和镜像编辑日志的辅助守护进程。和名称节点一样,每个集群都有一个第二名称节点,在大规模部署的集群条件下,一般第二名称节点也独自占用一台服务器。

除了这两个守护进程之外,还有第三个守护进程或称为辅助NameNode的进程。辅助NameNode作为辅助守护进程与主NameNode并发工作。不要混淆次要的NameNode是备份的NameNode,因为它不是。

58d35490c1dcef307dd07740d55be20f

Functions of Secondary NameNode:

新的FsImage被复制回NameNode,下一次启动NameNode时将使用该FsImage)

Hence, Secondary NameNode performs regular checkpoints in HDFS. Therefore, it is also called CheckpointNode(因此,辅助NameNode在HDFS中执行常规检查点。因此,它也称为CheckpointNode。)

4、DataNode

Functions of DataNode:

到现在为止,你一定已经意识到NameNode对我们来说非常重要。如果失败了,我们就完了。但是不要担心,我们将在下一篇Apache Hadoop HDFS架构博客中讨论Hadoop如何解决这个单点故障问题。

5、Block

block不过是硬盘上存储数据的最小连续位置。通常,在任何文件系统中,您都将数据存储为块的集合。类似地,HDFS将每个文件存储为块,这些块分散在整个Apache Hadoop集群中。在Apache Hadoop 2.x中,每个块的默认大小是128 MB(在Apache Hadoop 1.x中是64 MB),您可以根据需要进行配置。

image-20191109195948409

在HDFS中,不必将每个文件都以配置的块大小的精确倍数存储(128 MB,256 MB等)。让我们举一个例子,我有一个大小为514 MB的文件“ example.txt”,如上图所示。假设我们使用的默认块大小配置为128 MB。那么,将创建多少个块?5个:前四个块的大小为128 MB。但是,最后一个块的大小仅为2 MB。

现在,你一定在想为什么我们需要这么大的块大小,即128兆字节?

每当我们谈到HDFS,我们就谈到巨大的数据集,即兆兆字节和千兆字节的数据。因此,如果我们有一个比如4 KB的块大小,就像在Linux文件系统中一样,我们会有太多的块,因此会有太多的元数据。因此,管理这些数量的块和元数据会产生巨大的开销,这是我们不想要的

6、Replication Management

HDFS提供了一种以数据块的形式在分布式环境中存储大量数据的可靠方法。还复制这些块以提供容错能力。默认的复制因子是3,这也是可配置的。因此,如下图所示,每个块复制三次并存储在不同的datanode上(考虑默认的复制因子)

54c0b332b83cdec383d83aa2b3c7acf7

NameNode定期从DataNode收集阻止报告以维护复制因子。因此,每当块被过度复制或复制不足时,NameNode都会根据需要删除或添加副本。

7、Rack

87c5cb756434a88fba0ff32a4828cacd

同样,NameNode还确保所有副本都不存储在同一机架或单个机架中。它遵循内置的机架感知算法,以减少延迟并提供容错能力。考虑到复制因子为3,机架感知算法表示,一个块的第一个副本将存储在本地机架上,接下来的两个副本将存储在不同的(远程)机架上。下面就是实际的Hadoop生产集群的外观。在这里,可以装多个有DataNodes的机架。

image-20191109200316535

Advantages of Rack Awareness:

So, now you will be thinking why do we need a Rack Awareness algorithm? The reasons are:

8、参考资料

https://www.edureka.co/blog/apache-hadoop-hdfs-architecture/

上一篇下一篇

猜你喜欢

热点阅读