HDFS工作机制是什么

发布时间:2021-12-09 09:47:11 作者:小新
来源:亿速云 阅读:174

这篇文章将为大家详细讲解有关HDFS工作机制是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、HDFS是什么

HDFS(Hadoop Distributed File System)分布式文件系统,它是谷歌的GFS提出后出现的一种用户级文件系统。提供了一个高度容错和高吞吐量的海量数据存储解决方案。

HDFS工作机制是什么

hadoop生态-HDFS的核心位置

二、漫画看懂HDFS骚操作

HDFS工作机制是什么

2.1 写操作

HDFS工作机制是什么

1

HDFS工作机制是什么

2

HDFS工作机制是什么

3

2.2 读操作

HDFS工作机制是什么

2.3 容错性

常见错误种类

HDFS工作机制是什么

节点故障

HDFS工作机制是什么

通信故障和数据损坏

HDFS工作机制是什么

读写故障

HDFS工作机制是什么

HDFS工作机制是什么

HDFS工作机制是什么

以上是漫画解说部分,主要涵盖了读写流程已经故障处理。下面会有具体的架构讲解。

三、HDFS架构原理

HDFS工作机制是什么

3.1 HDFS几个主要概念

3.1.1 NameNode

3.1.2 DataNode

数据存储节点

3.1.3 Secondary NameNode

HDFS工作机制是什么

它的主要职责

FailoverController
故障切换器,管理着将活动namenode转移为备用namenode的过程,默认通过ZK来确保仅有一个活跃namenode。每一个namenode都有一个运行着的故障转移器。

3.1.4 Balancer

用于平衡DataNode集群之间各节点的磁盘利用率。

3.1.5 HttpFS

提供Http方式访问和操作HDFS功能

HDFS工作机制是什么

上面几个概念的拓扑图

3.2 Block数据块

HDFS里的数据都是以blocks分散在DataNodes。
通常,文件系统我们存放数据都是以一个blocks集进行存储,HDFS也是如此。
在 hadoop 集群中,每个 block 的默认大小为 128M(此处指 hadoop 2.x 版本,hadoop 1.x 版本为 64M),也可以通过配置进行修改

dfs.block.size或 dfs.blocksize =64M

HDFS 不会将每个文件存储在配置的 block 大小的确切倍数中,比如一个 514M 的文件 example.txt,下图所示,假设 block 大小为默认的 128M,那么将会创建 5 个block,前 4 个 block 大小为 128M,但是最后一个 block 的大小则仅为 2M。

HDFS工作机制是什么

block大小的设置,如果太小会产生太多的blocks,这样元数据就会很多,从而使管理blocks和元数据产生巨大开销,增加NameNode和DataNode的负载。

3.3 写原理

假如我们要一个文件名字“example.txt”,248M。

HDFS工作机制是什么

假设block.size设置的128M,因此client会把该文件切分成两个block,分布是 128M和120M。

每当向HDFS写数据的时候,都遵循下面的几个流程

For Block A, list A = {IP of DataNode 1, IP of DataNode 4, IP of DataNode 6}
For Block B, set B = {IP of DataNode 3, IP of DataNode 7, IP of DataNode 9}

3.3.1 建立管道

client在blocks写入之前会确保提供的DataNodes是否已经做好接受数据的准备。在这样的情况下,client会连接该block列表中的各个DataNodes,为每个block建一个管道。以BlockA举例,它的DN(DataNode)列表是 { DN 1 IP, DN 4 IP, DN 6 IP }

HDFS工作机制是什么

如上图,大概有一下几个步骤:

3.3.2 数据流与复制

当client与DataNodes之间的管道建立之后,client将开始将推送数据到管道。我们这里假设的复制因子是3,所以blockA将被复制三份,但是注意的是client只会将blockA推送到DN1,然后由DataNodes自己按照顺序进行复制。

HDFS工作机制是什么

如上图所示,整个复制过程步骤如下:

3.3.3 管道关闭和确认

当block复制3份完成后,client和NameNode会有一系列的ack确认来保证数据被成功写入。
如下图所示,DataNodes的确认和写入的顺序恰好相反,DN6写入成功后会给DN4发送确认消息,接着DN4会将DN6和自己的确认消息发送给DN1,最后DN1将所有的确认消息发送给client,client再给NameNode确认block写入成功,然后NameNode更新对应的元数据,最终client关闭管道。

HDFS工作机制是什么

以上的所有流程,我们都是针对blockA进行解说,而blockB是完全一样的,blockB有自己的管道、自己的DataNodes并行的进行写入。

HDFS工作机制是什么

如上图所示,有两个管道分别为blokA和blockB提供,他们各自的流程顺序如下:

3.4 读原理

读的原理相对写更容易理解,我们同样以example.txt举例。

HDFS工作机制是什么

如上图所示,有以下几个步骤

关于“HDFS工作机制是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. 十一、hdfs的datanode工作机制
  2. 十、HDFS的namenode工作机制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hdfs

上一篇:HashMap和HashTable的不同点是什么

下一篇:怎么进行基于js引擎v8源码解析allocation

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》