分布式存储的核心属性和功能作用
为什么使用分布式文件系统?
当存储海量数据时,当磁盘空间不够时,往往是通过扩容来解决,但是升级扩容的成本高。
单节点不能完成高并发,需要支撑海量数据的计算。
分布式存储能无线拓展,不像单机主板有限,连接的磁盘有限。
元数据记录
分布式文件系统如何快速定位文件?通过元数据去记录,元数据相当于书的目录,是记录数据的数据,记录文件名,大小,存储机器IP这些信息。
NameNode记录的元数据类型有两种:
- 文件自身的属性信息
文件名称,权限,修改时间,大小等
- 文件块位置映射信息
记录文件块和DataNode之间的映射信息,即哪个块位于哪个结点上
分块存储
文件过大,导致单机装不下,将文件分块存储,对每个块进行并行操作,能提高操作效率,但记录时也要记录每个块的存储信息,也就是元数据。当文件大小超过128M就分块,所以一个块的大小小于等于128M。
副本机制
不同机器设置备份,冗余存储,保障数据安全,比如node1存储第一个文件块和第二个文件块的备份,node2存储第二个文件块和第一个文件块的备份。文件的所有block都有副本,副本系数可以在文件创建时指定,也可以在之后改变,副本系数由dfs.replication控制,默认值是3,也就是会算复制两份,连同本身共三份。
主从架构
提供给用户统一个接口去访问,一个HDFS集群由一个NameNode和一定数量的DataNode组成,各司其职,主角色来维护元数据和目录树结构,DataNode需要去管理具体的数据块,将存储信息反馈给主角色NameNode,例如要删除一个文件,用户去操作NameNode,而真正干活的是DataNode,NameNode去指挥DataNode删除文件。
namespace
HDFS支持传统的层次型文件组织结构,用户可以创建删除目录文件&#