【漫画系列】HDFS存储原理分析——写操作

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

本次分享将结合Maneesh Varshney的漫画改编,为大家分析HDFS存储机制与运行原理。

一、角色出演 大数据

如上图所示,HDFS存储相关角色与功能如下:

Client :客户端,系统使用者,调用HDFS API操作文件;与NN交互获取文件元数据;与DN交互进行数据读写。

Namenode :元数据节点,是系统唯一的管理者。负责元数据的管理;与client交互进行提供元数据查询;分配数据存储节点等。

Datanode :数据存储节点,负责数据块的存储与冗余备份;执行数据块的读写操作等。

二、写入数据

1、发送写数据请求 大数据

HDFS中的存储单元是block。文件通常被分成64或128M一块的数据块进行存储。与普通文件系统不同的是,在HDFS中,如果一个文件大小小于一个数据块的大小,它是不需要占用整个数据块的存储空间的。

2、文件切分 大数据

3、DN分配 大数据 大数据

4、数据写入 大数据 大数据 大数据

5、完成写入 大数据 大数据 大数据

6、角色定位 大数据

三、HDFS存储写操作分析

通过写过程,我们可以了解到:

1、HDFS属于Master与Slave结构。一个集群中只有一个NameNode,可以有多个DataNodes;

2、HDFS存储机制保存了多个副本,当写入1T文件时,我们需要3T的存储,3T的网络流量带宽;系统提供容错机制,副本丢失或宕机可自动恢复,保证系统高可用性。

3、HDFS默认会将文件分割成block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,会导致内存的负担很重。

四、思考

1、数据写入时出错怎么办?

2、元数据是如何存储的?

未完待续……

Via:京东大数据专家

End.

随意打赏

提交建议
微信扫一扫,分享给好友吧。