==================================================================
- 文件元数据MetaData,文件数据
元数据
数据本身
-
(主)NameNode节点保存文件元数据:单节点 posix
-
(从)DataNode节点保存文件Block数据:多节点
-
DataNode与NameNode保持心跳,提交Block列表
-
HdfsClient与NameNode交互元数据信息
-
HdfsClient与DataNode交互文件Block数据
======================================================================
存储元数据(MetaData),不存储具体的block
| 序号 | 特点 |
| — | :-- |
| 1 | 基于内存存储,不和硬盘发生交互 |
| 2 | 持久化 |
NameNode主要功能:
| 序号 | 功能 |
| — | :-- |
| 1 | 接受客户端的读写服务 |
| 2 | 收集DataNode汇报的Block列表信息 |
| 3 | NameNode保存metadata信息包括:文件owership和permissions,文件大小,
时间(Block列表:Block偏移量),位置信息 |
NameNode持久化
-
NameNode的metadate信息在启动后会加载到内存
-
metadata存储到磁盘文件名为”fsimage”
-
Block的位置信息不会保存到fsimage
-
edits记录对metadata的操作日志。。。
======================================================================
本地磁盘目录存储数据(Block),文件形式,同时存储Block的元数据信息文件,启动DN时会向NN汇报block信息,通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN
=====================================================================
- 高容错性
数据自动保存多个副本
副本丢失后,自动恢复
- 适合批处理
移动计算而非数据
数据位置暴露给计算框架(Block偏移量)