美文网首页
hdfs文件系统总体架构

hdfs文件系统总体架构

作者: chenjie901 | 来源:发表于2018-08-11 22:34 被阅读0次

    hdfs分布式文件系统

    要处理大数据,首先得解决海量数据的存储,在hadoop中解决海量存储的组件就是hdfs(hadoop filesystem)。是google GFS开源实现。其核心思想分而治之,将一个大文件(GB,TB)分解成多个文件块,由datanode存储文件块存储。hdfs采用master-slave架构,核心组件包括namenode,datanode。

    namenode负责存储整个文件系统的命名空间,包括文件夹,文件,权限,文件对应的副本信息,文件块信息,文件块位置信息。其中文件块位置信息保持在内存中。由datanode通过heartbeat主动上报位置信息。

    datanode负责实际的文件块存储,一个hdfs上的文件可能分为多个块,分别存储到不同的datanode上,每个datanode存储文件的一部分。一个文件块默认在3个datanode上存储。

    hdfs架构

    大致读写流程如下:

    1、在发起一个文件操作前首先冲namenode获取元数据信息,比如要读写的文件的名字,路径

    2、namenode返回要操作的文件元数据信息,比如,file1文件的第一个块请从datanode2上获取或写入

    3、client向datanode写入或存储文件内容

    可以看出整个系统中,namenode占有举足轻重的作用,所有涉及命令空间的操作都要经过namenode,

    datanode还会主动上报自身的位置信息和自身存储的块的位置信息到namenode.所以namenode是一个中心,非常重要

    那么namenode由于本身不存储文件块位置信息的,那么文件块位置信息从何而来呢?

    1、由namenode在心跳包中主动上报

    2、每次写入块数据都是经过namenode分配的,包括副本信息。

    相关文章

      网友评论

          本文标题:hdfs文件系统总体架构

          本文链接:https://www.haomeiwen.com/subject/ywhjbftx.html