NameNode作用
NameNode在内存中保存着整个文件系统的名称空间和文件数据块的地址映射
整个HDFS可存储的文件数受限于NameNode的内存大小
1.NameNode元数据信息
文件名,文件目录结构,文件属性(生成时间,副本数,权限)每个文件的块列表.以及列表中的块与块所在的DataNode之间的地址映射关系
在内存中加载文件系统中每个文件和每个数据块的引用关系(文件,block,datanode 之间的映射信息)
数据会定期保存到本地磁盘(fsImage文件和edits文件)
2.NameNode文件操作
NameNode负责文件元数据的操作
DataNode负责处理文件内容的读写请求,数据流不经过NameNode,会询问NameNode 数据去哪些DataNode中去找
3.NameNode副本
文件数据块到底存放在哪些DataNode上,是由NameNode决定的,NameNode根据全局情况作出放置副本的决定
4.NameNode的心跳机制
全权管理数据块的复制,周期性的接收心跳和块的状态报告信息(包含该DataNode上的所有的数据块的列表),若接收到心跳信息,NameNode认为DataNode已经宕机,这个时候NameNode准备要把DataNode上的数据块进行重新的复制,块的状态报告包含了一个DataNode上所有数据块的列表,blocks reports每个小时发送一次
DataNode的作用
提供真实文件数据的存储服务
1.DataNode 以数据的形式存储HDFS文件
2.DataNode响应HDFS客户端读写请求
3.DataNode 周期性向NameNode汇报心跳信息
4.DataNode周期性向NameNode汇报数据块信息
5.DataNode周期性向NameNode汇报缓存数据块信息