Namenode概述

    1. Namenode 是HDFS的核心
    2. Namenode 也称为Master
    3. Namenode 仅存储HDFS的元数据:文件系统中所有文件的目录树,并跟踪整个集群中的文件
    4. Namenode 不存储实践数据或数据集。数据本身实际存储在DataNodes中
    5. Namenode 知道HDFS 中任何给定文件的块列表及其位置。使用此信息Namenode知道如何从块中构建文件
    6. Namenode 并不持久化存储每个文件中各个块所在的DataNode的位置信息,这些信息会在系统启动时从数据节点重建
    7. Namenode 对于HDFS 至关重要,当Namenode 关闭时,HDFS/Hadoop 集群无法访问

    DataNode概述

    1. DataNode 负责将实际数据存储在HDFS中
    2. DataNode 也称为Slave
    3. Namenode和datenode会保持不断通信
    4. 当某个dataNode 关闭时,它不会影响数据或集群的可用性。Namenode将安排由其他DataNode管理的进行副本复制
    5. Datanode启动时,它将自己发布到NameNode 并汇报自己负责持有的块列表
    6. Datanode所在机器通常配置有大量的硬盘空间。因为实际数据存储在DataNode中。
    7. Datanode会定期向Namenode发送心跳,如果namenode 长时间没有接受到dataNode 发送的心跳,nameNode就会认为该DataNode失效。

    HDFS 工作机制

    HDFS 写数据流程

    HDFS 读数据流程