HDFS数据存储流程[通俗易懂]

HDFS数据存储流程[通俗易懂]HDFS即Hadoop Distributed File System, HDFS存储数据的流程如下: 1、client跟NameNode交互1.1、client 发消息给NameNode,NameN

HDFS数据存储流程

HDFS即Hadoop Distributed File System, HDFS存储数据的流程如下:

1、client跟NameNode交互
1.1、client 发消息给NameNode,NameNode检查client是否有写的权限。如果有权限,NameNode检查是否有同名文件,如果没同名文件,NameNode生成一条新文件的记录(不包含存放地址信息)
1.2、NameNode向client发送相应的DataNode列表和一个token,地址用来存放数据,token是client向DataNode写数据前要发送过去的密钥
2、client跟DataNode交互
2.1、client收到DataNode列表和token后,其DFSOutputStream将数据拆分成一个个块(一般64MB或128MB),并集群中生成管道,通过管道向DataNode列表中的第一个DataNode写入数据。 同时,DFSOutputStream生成一个确认列表(ack queue)。
2.2、第一个DataNode写完后,将根据复制参数将数据块通过管道复制到第二个DataNode。第二个写完,将数据块通过管道复制到第三个DataNode…… 如果复制参数为 3,那么在不同的 DataNode 中至少会创建 3 个块副本。每个DataNode写完后,会向NameNode发送块的信息,NameNode会记录下来。
2.3、最后一个DataNode创建所需的副本后,向前一个DataNode发送确认信息,前一个往再前一个DataNode发确认信息…… 第一个DataNode向client发送确认信息,client的DFSOutputStream收到确认信息后,将该块从确认列表(ack queue)中移除
2.4、重复2.1——2.3的过程,直到所有数据块传输完成
2.5、当数据传送完成,且收到确认信息时,client调用close()方法关闭进程

图片是简单的流程,可以参考:

HDFS数据存储流程[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6007.html

(0)
上一篇 2023-04-19
下一篇 2023-04-19

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注