Namenode概述
- Namenode 是HDFS的核心
- Namenode 也称为Master
- Namenode 仅存储HDFS的元数据:文件系统中所有文件的目录树,并跟踪整个集群中的文件
- Namenode 不存储实践数据或数据集。数据本身实际存储在DataNodes中
- Namenode 知道HDFS 中任何给定文件的块列表及其位置。使用此信息Namenode知道如何从块中构建文件
- Namenode 并不持久化存储每个文件中各个块所在的DataNode的位置信息,这些信息会在系统启动时从数据节点重建
- Namenode 对于HDFS 至关重要,当Namenode 关闭时,HDFS/Hadoop 集群无法访问
DataNode概述
- DataNode 负责将实际数据存储在HDFS中
- DataNode 也称为Slave
- Namenode和datenode会保持不断通信
- 当某个dataNode 关闭时,它不会影响数据或集群的可用性。Namenode将安排由其他DataNode管理的进行副本复制
- Datanode启动时,它将自己发布到NameNode 并汇报自己负责持有的块列表
- Datanode所在机器通常配置有大量的硬盘空间。因为实际数据存储在DataNode中。
- Datanode会定期向Namenode发送心跳,如果namenode 长时间没有接受到dataNode 发送的心跳,nameNode就会认为该DataNode失效。
HDFS 工作机制
HDFS 写数据流程
HDFS 读数据流程
