HDFS 概念

DataNode

DataNode存储管理用户的文件块信息
定期向NameNode汇报自身所持有的block信息(通过心跳信息上报)
DataNode无法与NameNode通信,有一段超时时长

写数据流

跟NameNode通信以确认可以写文件并获得接受文件block的DataNode
客户端按顺序将文件逐个block传递给相应DataNode
由接收到block的DataNode向其他DataNode复制block副本(建立pipeline)

HDFS读数据流程

客户端将要读取的文件路径发送给namenode
namenode获取文件的元信息(主要是block的存放位置信息)返回给客户端
客户端根据返回的信息找到相应datanode,逐个获取文件的block
在客户端本地进行数据追加合并从而获得整个文件

元数据存储

Edits文件,日志,追加写,每当有元数据修改时追加
FsImage,镜像文件,备份元数据到磁盘中
因为效率问题,FsImage与Edits会复制到Secondary NameNode中进行定期合并,合并完再将Image发送会NameNode

猜你喜欢

转载自blog.csdn.net/qq_40135006/article/details/133377216