NameNode(名称节点,简称NN)作用:
文件系统命名空间,维护文件系统目录树
存储文件名称,
文件目录结构,
文件属性(权限,大小,创建时间,副本数及大小…),
文件对应的数据块及这些块所对应的数据节点,我们称为blockmap,这种映射关系存储在NN中,但是并不会持久化这种关系,这个映射关系由DN在启动的时候上报给NN。
以上关系由fsimage+editslog来存储。
DataNode(数据节点,简称DN)作用:
存储数据块及块校验(为了防止块损坏带来的数据读取错误)
每隔3秒与NN通信并发送一个心跳包;每10个心跳包向NN上报blockReport
SecondaryNameNode(辅助名称节点,简称SNN):
存储fsimage,editslog;
定期合并fsimage+editslog,合并时机由检查点(checkpoint)决定,检查点由dfs.namenode.checkpoint.period 参数定义,默认3600秒。
SNN每隔一个小时从NN上备份fsimage下来
fsimage 镜像文件,系统镜像文件,系统全量文件
editslog操作日志,读写记录操作,系统增量文件
客户端向DN写数据,如果副本数是3,客户端只需要写入1分数据,然后拷贝。
SNN流程 :
NameNode(名称节点,简称NN)作用