HDFS存入文件的整个流程-创新互联

本文结合HDFS的副本和分块从宏观上描述HDFS存入文件的整个流程。HDFS体系中包含Client、NameNode、DataNode、SeconderyNameode四个角色,其中Client是客户端,NN负责管理,DN负责存储、SN协助管理。

创新互联是一家专注于网站建设、网站设计与策划设计,张家川回族自治网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:张家川回族自治等地区。张家川回族自治做网站价格咨询:13518219792

先来看一个官网上的图

HDFS存入文件的整个流程

# 图 0 -HDFS的体系结构

HDFS的副本存储有如下规则:

1.client将第一副本放到最靠近的一台DN

2.第二副本优先放到另一个机架

3.以此类推,尽量保证副本放在不同的机架

由于副本和分块机制的存在,当从本地文件系统向HDFS上传文件时,其内部的流程相对比较复杂,可以通过下图及步骤说明进行理解。

HDFS存入文件的整个流程

# 图 1-1 -hdfs副本存储机制(3副本)

A.对于可存于单块的小文件:

1.client向NN(NameNode)发起存储请求,

2.NN查找自身是否已有相应的文件,

3.若无则,NN向client返回DN1(DataNode)路径,

4.client向DN1传送副本,

5.DN1通过管道异步向DN2传副本,

6.DN2通过管道异步向DN3传副本,

7.DN3通知DN2接收完成,

8.DN2通知DN1接收完成,

9.DN1通知NN接收完成。

B.对于需要分块的大文件:

大致流程同上,但在步骤3NN还会进行块的划分,随后步骤4client会将各块分别发送到分配的DN执行步骤4~9

从前述可见,在向HDFS传输文件的过程中,NameNode节点至关重要。NN负责掌管元数据。其作用相当于物理硬盘中的文件分配表FAT,NN中的数据如果发生丢失,DN中存储的数据也就没有了意义。

HDFS存入文件的整个流程

# 图 1-2 -NN元数据存储机制

1.client向NN请求写,

2.NN将分配block写入editslog文件,

3.NN响应client,

4.client向DN写文件,

5.client通知NN写完成,

6.NN将editslog更新到内存。

ps:常用及最新元数据放在内存,最新元数据放editslog,老元数据放fsimage,editslog写满之前将edits log(新元数据)转换并合并到fsimage。

HDFS存入文件的整个流程

# 图 1-3 -edits log合并机制

当editslog写满:

1.NN通知SecondryNameNode执行checkpoint操作,

2.NN停止向已满editslog写入,

3.NN创建新edits log维持写入,

4.SN下载NN的fsimage和已满editslog,

5.SN执行合并生成fsimage。checkpoint,

6.SN向NN上传fsi。cp,

7.NN将fsi。cp改名fsimage,

8.NN删除已满editslog。

HDFS存入文件的整个流程

# 图3 -元数据格式:文件全路径,副本数,块编号,块-所在DN的映射。

HDFS存入文件的整个流程

睿江云官网链接:https://www.eflycloud.com/home?from=RJ0035

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:HDFS存入文件的整个流程-创新互联
当前路径:http://abwzjs.com/article/jgseo.html