【漫画系列】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.