1.块
HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位,块的大小远远大于普通文件系统,可以最小化寻址开销。
好处:
支持大规模文件存储
简化系统设计
适合数据备份
2.HDFS主要功能组件
NameNode(主节点或名称节点):
存储元数据
元数据保存在内存中
保存文件,block,datanode之间的映射关系
(1)在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLog。
FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作
(2)名称节点记录了每个文件中各个块所在的数据节点的位置信息。
如何解决名称节点运行期间EditLog不断增大问题:SecondaryNameNode(第二名称节点)
第二名称结点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上。
DataNode(从节点或数据节点):
存储文件内容
文件内容保存在磁盘
维护了block id到datanode本地文件的映射关系
(1)数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表。
(2)每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中。