HADOOP的部署及使用:三、HDFS原理及操作

一、HDFS原理

HADOOP的部署及使用:三、HDFS原理及操作

 由上图可知,HDFS中两个重要的组件是:

Namenode

Datanode

          Namenode上保存着HDFS的名字空间。对于任何对文件系统元数据产生修改的操作,Namenode都会使用一种称为EditLog的事务日志记录下来。Namenode在系统的本地文件系统中存储这个EditLog。同样的整个HDFS的名字空间,包括数据块到文件的映射,文件的属性等,都存储在一个fsimage的文件中。这个文件也是放在Namenode所在的本地文件系统上。

          Datanode将HDFS数据以文件的形式存储在本地的文件系统中,它并不知道有关HDFS文件的信息。Datanode并不在同一个目录创建所有的文件,出于性能的考虑,它采用试探的方式来确定每个目录下最佳的文件数目。当一个Datanode启动时,它会扫描本地文件系统,产生一个这些本地文件对应的所有HDFS数据块的列表,然后作为报告发送给Namenode节点,这个报告称为块状态报告。

另外,还有一个Secondary Namenode 用来对Namenode节点做定期备份。

        Secondary Namenode定期和并fsimage和editlog,将editlog日志的大小控制在一个限度下。