首页 / 爱玩数码 / 正文

client在hdfs进行文件写入

时间:2024-09-01 11:01:26

Client向HDFS写入数据的过程解析

转载自: http://www.linuxidc.com/Linux/2012-09/70998.htm

Client以数据块(Block)为单位进行数据存储。按照我们一般的理解,Client向HDFS写入数据,首先需要向NameNode申请Block;申请Block完成后,申请DataNode(包括备份存储的DataNode);二者完成后,Clent进行与DataNode之间的数据存储。

我们知道NameNode之中维护两张非常重要的表,一张是filename→blocks的映射;另外一张是block→machinelist的映射。如果是我进行设计,这两张表都可以在申请的时候完成记录。HDFS在在实现过程中,采用了另外一种方式。首先filename→blocks是在申请过程中进行记录的。当Client申请Block的时候,NameNode分配Block给客户端,并将该Block记录到该File的INode当中;在申请Block的时候,NameNode还会将DataNode和备份存储的DataNode发送给Client。但是,此时NameNode并没有记录Block和DataNode(machinelist)的映射关系。Client向DataNode写入数据完成后,由DataNode向NameNode周期性的进行汇报,报告自己节点所存储的所有Block(思考一下,为什么这么实现?

《client在hdfs进行文件写入》不代表本网站观点,如有侵权请联系我们删除

点击排行

成长网提供支持 骄阳网版权所有网站地图 网站地图2 主办单位:广州小漏斗信息技术有限公司 粤ICP备20006251号

联系我们 关于我们 版权申明