hadoop hdfs总结 NameNode部分 概述

    以后的代码总结全部基于cloudera CDH3B2源码进行。

    NameNode需要处理三部分工作:

    1、NameNode需要对内存中的数据进行管理,包括有INode信息,Block信息,其中INode信息是间断性的向磁盘刷,进行固话,而Block信息则是在启动过程中从Datanode的心跳汇报中获得的。在这个过程中,还需要对日志进行处理,包括FSImage和Editlog。

    2、与DataNode进行通信。

    3、与Client进行通信。

    其中2、3是通过底层的IPC框架完成,2、3将会在后面对DataNode和Client进行介绍时详细说明。

    hdfs的设计参照了linux ext文件系统的设计,也有INode,Block等概念。在NameNode中INode是元数据信息(metadata),同时由于其分布式特点,必须包含了Block对应的DataNode信息以及DataNode所有包含的Block信息,即对应的BlockMap。同时,NameNode的日志保存了元数据信息。

原文地址:https://www.cnblogs.com/sidmeng/p/2389727.html