HDFS的架构

    xiaoxiao2021-03-25  133

    • NameNode主节点 – 管理文件系统的命令空间和客户端的访问请求 – NameNode对命令空间的操作包括opening, closing和renaming文件或者文件 • DataNode从节点 – 管理该节点上的存储数据块 – DataNode对数据块执行creation, deleting的操作 ‼ Note: 客户端对文件系统的操作就像操作一个Linux系统一样,无需知道底层

    NameNode和DataNode是如何运作的

     NameNode – NameNode记录文件系统的元数据 • HDFS中文件的位置信息 • 文件的拥有者以及权限信息 • 单个block的名字 • block的位置 – Metadata被保存在硬盘上,当NameNode启动时被读取到内存中 • 文件名是fsimage • Note: block的位置信息未保存在fsimage中 – 当metadata需要做改动时,改动是发生在内存的 • 改动同时也被写入到了本地的edits log之中

    NameNode进程运行时,所有的metadata都是被读入内存的,以保证访 问的速度 每一个metadata中的item占用150-200 bytes的内存空间 items 文件名,权限等 每一个block的相关信息 

    DataNode 文件以block的形式被存放于DataNode Block本质是存放于DataNode本地文件系统下相应位置的普通文件 名称: blk_xxxxxxx DataNode上并不会有某一个block属于哪一个hdfs上文件的信息 每个block都会在不同的节点上有备份,以保证数据的完整性 默认备份3

    数据的可靠性与恢复 DataNode通过心跳heartbeatNameNode进行通信 每三秒发送一次 持续一段时间内没有接收到心跳后,这个DataNode被认 NameNode确定这个节点上的block已经丢失 NameNode会找到拥有这些block副本的DataNode节点 DataNode会把这些block复制给其他节点 保证了数据的3副本

    转载请注明原文地址: https://ju.6miu.com/read-12185.html

    最新回复(0)