具体组件介绍
Client客户端
- 文件切分——Blocks
- 与NameNode交互,获取文件位置信息
- 与DataNode交互,读入或写入数据
- 提供一些开关HDFS命令
NameNode
- 在内存中保存整个文件系统的名称空间和文件数据块的地址映射
- 整个HDFS可存储的文件数受限于NameNode的内存大小
- 元数据管理
1.元数据信息:文件名、文件目录结构、文件属性、每个文件块列表以及列表中块与块所在的DataNode之间的映射关系,数据会定期持久化到本地磁盘的fsImage文件和edits文件中
2.文件操作:DataNode负责文件内容的读写请求,数据流不经过NameNode。
3.副本机制:文件存在哪些DataNode上是由NameNode上决定的。
4.心跳机制:DataNode周期性向NameNode发送心跳信号和块状态报告
Seondary NameNode
- 辅助NameNode,分担部分工作
- 紧急情况下,辅助恢复NameNode
- 并非NameNode的热备份